Estoy usando Rails 3.0.5. Estoy usando MySQL como almacenamiento de base de datos. Tengo un modelo en el que una de las columnas debe ser BIGINT. Estoy utilizando el siguiente en mi archivo de migración crear:¿Cómo hacer que Rails genere 'schema.rb' con soporte bigint para MySQL?
t.column :my_column_name, :bigint
que funciona muy bien.
Sin embargo, cuando corro
rake db: migrate
el archivo generado 'schema.rb' crea la siguiente línea de la columna en particular:
t.integer "my_column_name", :limit => 8
cuales no es correcto.
Mi pregunta es dónde me equivoco con eso? ¿Hay algo que deba hacer para obtener el archivo correcto 'schema.rb'? ¿Puedo cambiar la forma en que se genera el archivo 'schema.rb'?
Tenga en cuenta que el hecho de que el archivo 'schema.rb' sea incorrecto causa problemas a mi servidor de integración continua, que ejecuta pruebas y crea el archivo desde cero (antes de ejecutar pruebas) utilizando el archivo 'schema.rb' .
De todos modos, esto no funciona para mí. Descubrí que al establecer un valor predeterminado de mi columna bigint en 18446744073709551615 (20 dígitos), db: test: prepare se queja sobre el valor predeterminado Inválido, imprimiendo la instrucción CREATE TABLE. Aquí veo que solo se usa 'bigint' sin (20). Configuración config.active_record.schema_format =: sql en application.rb crea la estructura correcta de la base de datos. –