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
default
onull
), pero puede crear su propio generador.También puede actualizar manualmente el archivo de migración antes de ejecutarlo
rake db:migrate
agregando 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