Rails Migraciones porque apuntan a un esquema de tablas y campos, en lugar de una representación completa de la base de datos que incluye procedimientos almacenados, funciones, datos de inicialización.
Cuando ejecuta rake db: setup, esto creará la base de datos, cargará el esquema y luego cargará los datos de inicialización.
Algunas soluciones para que usted considere:
Choice 1: crear su propia tarea rastrillo que hace estas migraciones independientes de la migración rieles hacia arriba/abajo. Las migraciones de Rails son solo clases normales, y puedes hacer uso de ellas como quieras. Por ejemplo:
rake db:create_sequence
Opción 2: ejecutar la migración específica después de cargar el esquema de la siguiente manera:
rake db:setup
rake db:migrate:up VERSION=20080906120000
Opción 3: crear su secuencia de datos de semillas, ya que está proporcionando básicamente los datos (en lugar de alterando el esquema).
db/seeds.rb
opción 4 y mi preferencia personal: se ejecutan las migraciones hasta un punto bueno conocido, incluyendo su secuencia, y salvo que la base de datos en blanco. Cambiar rake db: setup para clonar esa base de datos en blanco. Esto es un poco más complicado y sacrifica algunas capacidades: hacer que todas las migraciones sean reversibles, hacer que las migraciones funcionen sobre múltiples proveedores de bases de datos, etc. En mi experiencia, estos son buenos intercambios. Por ejemplo:
rake db:fresh #=> clones the blank database, which you store in version control
¿Qué versión de rieles y db estás usando? –
@Sergio Postgres 9.0 –
@Kevin - ¿qué versión de Rails estás usando? –