rails generate migration AddRetweetsCountToTweet retweets_count:integer 
Ok, utilizo la línea anterior para crear un archivo de migración que genera automáticamente código en el archivo generado para agregar una columna a un Tweet modelo con un número entero de tipo de datos. Ahora quiero agregar un valor predeterminado a la columna agregada mientras genero el archivo de migración. ¿Es eso posible? Lo busqué en Google pero no pude encontrarlo. Los chicos necesitan ayuda.
                    
                        ruby-on-rails
                                migration
                                
                    
                    
                        kxhitiz
fuente
                
                fuente

Respuestas:
El generador de migración predeterminado no maneja los valores predeterminados (los modificadores de columna son compatibles pero no incluyen
defaultonull), pero puede crear su propio generador.También puede actualizar manualmente el archivo de migración antes de ejecutarlo
rake db:migrateagregando las opciones aadd_column:add_column :tweet, :retweets_count, :integer, :null => false, :default => 0... y lea la API de Rails
fuente
... Deberia trabajar.
Consulte la guía de Rails sobre migraciones
fuente
Sí, tampoco pude ver cómo usar 'predeterminado' en el comando del generador de migración, pero pude especificar un valor predeterminado para una nueva columna de cadena de la siguiente manera modificando el archivo de migración generado antes de aplicar "rake db: migrate":
Esto agrega una nueva columna llamada 'color' a mi modelo de 'Widget' y establece el 'color' predeterminado de los nuevos widgets en 'rojo'.
fuente
Intenté t.boolean: active,: default => 1 en el archivo de migración para crear la tabla completa. Después de ejecutar esa migración cuando registré db, se hizo nulo. Aunque dije por defecto como "1". Después de eso, cambié ligeramente el archivo de migración como este, luego funcionó para mí para establecer el valor predeterminado en la creación de un archivo de migración de tabla.
t.boolean: active,: null => false,: default => 1. Trabajó para mi.
La versión de mi framework Rails es 4.0.0
fuente
:default => false?Primero tendría que crear su migración para los conceptos básicos del modelo y luego crear otra migración para modificar la anterior usando change_column ...
fuente