Estoy haciendo este tutorial (http://dmix.ca/2008/09/how-to-scrape-websites-in-ruby-on-rails-using-scrubyt/) y el paso 4 antes de comenzar es configurar el archivo database.yml No estoy seguro de lo que eso significa. ¿Podría alguien explicar por favor?¿Cómo configuro el archivo database.yml en Rails?
Respuesta
Al principio me gustaría utilizar http://ruby.railstutorial.org/.
Y database.yml es el lugar donde pone la configuración para la base de datos que usa su aplicación - nombre de usuario, contraseña, host - para cada base de datos. Con la nueva aplicación no necesita cambiar nada, simplemente use la configuración predeterminada de sqlite.
El database.yml
es un archivo que se crea con nuevas aplicaciones de rieles en /config
y define las configuraciones de la base de datos que su aplicación usará en diferentes entornos. Read this for details.
Ejemplo database.yml:
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: mysql
encoding: utf8
database: your_db
username: root
password: your_pass
socket: /tmp/mysql.sock
host: your_db_ip #defaults to 127.0.0.1
port: 3306
Si el archivo 'database.yml' está registrado en el control de fuente, ¿no sería realmente una mala cosa ™ si se registrara alguna contraseña de base de datos, especialmente una de producción? – Makoto
@Makoto sí, es un riesgo. Una opción es usar variables de entorno. Por ejemplo, Heroku usa la variable de entorno 'DATABASE_URL' que contiene datos tales como el nombre de usuario, la contraseña y la ubicación del DB. Luego analiza ese env var y lo usa para crear un archivo 'database.yml'. – Dennis
database.yml es el archivo donde configura toda la información para conectarse a la base de datos. Difiere según el tipo de base de datos que utilice. Puede encontrar más información al respecto en el Rails Guide o en cualquier tutorial que explique cómo configurar un proyecto de rieles.
La información en el archivo database.yml está delimitada por entorno, lo que le permite obtener una configuración diferente para pruebas, desarrollo o producción. Es importante que los mantenga distintos si no desea que los datos que utiliza para el desarrollo se eliminen por error mientras ejecuta su conjunto de pruebas.
En cuanto al control de código fuente, no debe confirmar este archivo, sino que debe crear un archivo de plantilla para otros desarrolladores (llamado database.yml.template
). Al implementar, la convención es crear este archivo database.yml en /shared/config
directamente en el servidor.
con SVN: svn propset svn:ignore config "database.yml"
Con Git: Añadir config/database.yml
al archivo .gitignore o con git-extragit ignore config/database.yml
... y ahora, algunos ejemplos:
SQLite
adapter: sqlite3
database: db/db_dev_db.sqlite3
pool: 5
timeout: 5000
MYSQL
adapter: mysql
database: my_db
hostname: 127.0.0.1
username: root
password:
socket: /tmp/mysql.sock
pool: 5
timeout: 5000
MongoDB con MongoId (llamado mongoid.yml, pero básicamente la misma cosa)
host: <%= ENV['MONGOID_HOST'] %>
port: <%= ENV['MONGOID_PORT'] %>
username: <%= ENV['MONGOID_USERNAME'] %>
password: <%= ENV['MONGOID_PASSWORD'] %>
database: <%= ENV['MONGOID_DATABASE'] %>
# slaves:
# - host: slave1.local
# port: 27018
# - host: slave2.local
# port: 27019
- 1. Haciendo que el archivo database.yml funcione en Rails en OSX
- 2. Git and Rails: ignore database.yml
- 3. ¿Cómo se asegura database.yml?
- 4. ¿Cómo configuro Rails para el idioma francés?
- 5. Ruby on Rails: ¿Cómo puedo editar database.yml para postgresql?
- 6. Ruby on Rails | Postgresql ignora mi contraseña en database.yml
- 7. /config/database.yml en .gitignore en deploy /config/database.yml no encontrado debe usar /shared/database.yml en su lugar, ¿cómo?
- 8. ¿Cómo configuro el nombre de host para Rails ActionMailer?
- 9. Error del servidor local de Rails: No existe dicho archivo database.yml
- 10. Cómo configuro el permiso de archivo en MODE_WORLD_READABLE
- 11. ¿Cómo configuro MySQL como la base de datos predeterminada en Rails 3?
- 12. ¿Cómo configuro Apache 2.2 para Ruby on Rails en Windows?
- 13. ¿Cómo configuro las opciones de HTML para collection_select en Rails?
- 14. Usando Rails 3 y Haml 3, ¿cómo configuro Haml?
- 15. ¿Cómo configuro CultureInfo.CurrentCulture desde un archivo App.Config?
- 16. Carácter especial en database.yml para la contraseña
- 17. ¿Para qué es la declaración de socket en Ruby on Rails database.yml?
- 18. Cómo configuro el indicador HttpOnly en una cookie en Ruby on Rails
- 19. Capistrano - no puede desplegar mi database.yml
- 20. ¿Cómo configuro el primer respondedor?
- 21. ¿Cómo configuro AppUserModelID en el acceso directo?
- 22. ¿Cómo configuro el elemento seleccionado por defecto en un menú desplegable de Rails?
- 23. Rails cómo eliminar un archivo sin fallar en el error
- 24. ¿Cómo configuro el resaltado de sintaxis para LESS en coda?
- 25. ¿Cómo configuro el valor de $ {user} en Netbeans 7.1.2?
- 26. ¿Cómo configuro Rails para deshabilitar el envío de correos electrónicos reales durante la etapa de transición?
- 27. ¿Cómo configuro QQueryTimeout en SimpleJdbcTemplate?
- 28. PostgreSQL: ¿Cómo configuro el search_path en el nivel de usuario?
- 29. ¿Cómo configuro el nivel log4j en la línea de comando?
- 30. ¿Cómo configuro el registro de OpenJPA SQL?
No hay problema. Gracias Zack. –