Estoy implementando una aplicación de rieles en heroku que usa PostgreSQL como su back-end. En mi migración de base de datos, normalmente configuro el campo de Id. Para cosas como "Me gusta", etc. hasta al menos 1000, a la mayoría de los clientes no parece gustarle comenzar por 1.¿Cómo puedo establecer el punto de partida para la columna de clave principal (ID) en Postgres a través de una migración de rieles?
Normalmente uso mysql y simplemente agrego un sql específico después de mi tabla la creación:
def self.up
create_table :reports do |t|
t.references :something
...
end
execute("ALTER TABLE reports AUTO_INCREMENT = 1000;")
end
¿alguien sabe cómo puedo acheive la misma para PostgreSQL, idealmente me gustaría que la migración de construir la propia tabla de manera que no es específica dB.
Supongo que una manera tonta de lograr mi objetivo sería crear y borrar 999 registros en un bucle, ouch.
Gracias tanto para la actualización, he acaban de bajarse un volcado de la db, parece que éste es el lugar: CREAR SECUENCIA reports_id_seq INCREMENTO POR 1 NO MAXVALUE NO MINVALUE CACHE 1; – tsdbrown
Sí, puede configurar el inicio en el tiempo 'CREATE SEQUENCE', en cuyo caso solo agrega' START 1000' a la instrucción. Pero para cambiarlo más adelante, necesitas el comando 'ALTER', not' CREATE'. –
Jaja, gracias, no estaba tratando de usar el comando CREAR, simplemente destacando lo que 'se' ha usado para generar la secuencia, ese es el SQL generado a partir del archivo de migración. Utilicé ALTER y RESTART como mencionaste y funcionó de maravilla. Si voy a usar Postgres en una aplicación basada en producción, me aseguraré de leer sobre ella. – tsdbrown