¿Hay alguna forma trivial de copiar los datos de la base de datos developmenet en la versión de prueba? Sé que hay una manera de copiar el esquema y recrear la base de datos, pero ¿hay alguna tarea de rake para completar la base de datos de prueba con el desarrollo uno?Rieles: rellene la base de datos de prueba con los datos de desarrollo
Respuesta
Puede utilizar MySQL directamente:
mysqldump app_development | mysql app_test
Se puede utilizar:
rake db:test:clone
Para copiar el PP en el desarrollo de pruebas.
No funciona para mí en absoluto. Se crea la estructura, pero no se copian registros. ¿Es esa tarea copiar los datos en absoluto? La descripción no apunta directamente a eso. – mdrozdziel
No funcionó para mí. La base de datos de prueba parece estar vacía ... –
db: test: clone es una combinación de db: schema: dump y db: test: prepare y en realidad no copia los * datos * – JohnMetta
Si lo que desea es clonar la base de datos de desarrollo en su totalidad, lo que está mal con sólo copiar el development.sqlite3 y el cambio de nombre test.sqlite3? Puede automatizar el proceso configurando un archivo por lotes (o su equivalente en su SO) que pueda ejecutar desde la línea de comando.
Esto funcionará localmente, pero me acabo de dar cuenta de que podría estar pensando en un entorno no local, en cuyo caso probablemente no sea así.
Un método alternativo si utiliza semillas (db/seeds.rb)
En primer lugar, añadir una tarea rake, por ejemplo, a lib/tareas/test_seed.rake con este código:
namespace :db do
namespace :test do
task :prepare => :environment do
Rake::Task["db:seed"].invoke
end
end
end
Entonces cada vez que cambie la estructura/contenido de su base de datos a través de la migración y las semillas, puede ejecutar
rake:db:test:prepare
Para copiar el esquema y los datos de inicialización.
Así que los pasos completos sería:
rake db:migrate
rake db:seed
rake db:test:prepare
Si ejecuta 'rake db: test: prepare' after' rake db: seed 'eliminará tus datos de inicialización =] – professormeowingtons
Con Postgres, copiar la base de datos de este modo:
CREAR newdb BASE DE DATOS CON originaldb PLANTILLA PROPIETARIO dbuser;
- 1. ¿Cómo llenar la base de datos de producción (heroku) con los datos de desarrollo? (rieles)
- 2. Rieles, cómo migrar datos de la base de datos de desarrollo sqlite3 a la base de datos de producción MySQL?
- 3. Comprobación de los rieles a través del rake: no toques mi base de datos de desarrollo
- 4. Base de datos de desarrollo y producción?
- 5. Base de datos de prueba de la aplicación Sinatra separada de la base de datos de desarrollo?
- 6. ¿Cómo usar la base de datos de prueba con Capybara?
- 7. Error con la base de datos de prueba utilizando rieles postgres utilizando hstore
- 8. Rieles: almacenamiento de datos cifrados en la base de datos
- 9. ¿En qué casos prueba con una base de datos en memoria en lugar de una base de datos de desarrollo?
- 10. Elija la base de datos de prueba?
- 11. rieles Prevenir la prueba de eliminación de datos de semillas
- 12. problema con conseguir los datos de la base de datos
- 13. Rieles de base de datos valores booleanos
- 14. Prueba de Phpunit con la base de datos
- 15. JUnit + DbUnit: cambiar la conexión de la base de datos entre entornos de desarrollo y prueba
- 16. ¿Exportar de la base de datos de App Engine a la base de datos de desarrollo local?
- 17. ¿Los rieles necesitan restricciones a nivel de base de datos?
- 18. Creando datos de prueba en una base de datos
- 19. ¿Cómo puedo iniciar la consola de rieles y usar la base de datos de prueba exclusivamente?
- 20. Migraciones de rieles con tipos de datos específicos de la base de datos
- 21. Rieles: base de datos separada por subdominio
- 22. Ejecutar pruebas de rieles sin perder la base de datos de prueba
- 23. Rieles: Adaptador de base de datos de detección automática
- 24. Rellenar las tablas de la base de datos con una gran cantidad de datos de prueba
- 25. No se puede crear una base de datos de prueba en rieles 3.2 con postgres
- 26. Migrar una base de datos de desarrollo MySQL a una base de datos de producción
- 27. Base de datos simulados Objetos vs Prueba
- 28. Cómo sincronizar la base de datos de desarrollo y producción
- 29. Django - Llenando una base de datos con fines de prueba
- 30. Prueba de unidad Herramienta para la base de datos Sybase
si no está usando mysql, @ j0k tiene la mejor respuesta hasta ahora con: rake db: test: clone && rake db: seed RAILS_ENV = 'test' – Krut