rails generate migration AddRetweetsCountToTweet retweets_count:integer
Хорошо, я использую строку выше для создания файла миграции, который автоматически генерирует код в сгенерированном файле, чтобы добавить столбец в твит модели с целым числом типа данных. Теперь я хочу добавить значение по умолчанию в добавленный столбец при создании файла миграции. Это возможно? Я погуглил, но не нашел. Ребят нужна помощь.
ruby-on-rails
migration
kxhitiz
источник
источник
Ответы:
Генератор миграции по умолчанию не обрабатывает значения по умолчанию ( модификаторы столбцов поддерживаются, но не включают
default
илиnull
), но вы можете создать свой собственный генератор.Вы также можете вручную обновить файл миграции перед запуском
rake db:migrate
, добавив параметры вadd_column
:add_column :tweet, :retweets_count, :integer, :null => false, :default => 0
... и прочтите Rails API
источник
... должно сработать.
См. Руководство Rails по миграции
источник
Да, я тоже не видел, как использовать "default" в команде генератора миграции, но смог указать значение по умолчанию для нового строкового столбца, как показано ниже, изменив сгенерированный файл миграции перед применением "rake db: migrate":
Это добавляет новый столбец под названием «цвет» в мою модель «Виджет» и устанавливает «цвет» по умолчанию для новых виджетов на «красный».
источник
Я попробовал t.boolean: active,: default => 1 в файле миграции для создания всей таблицы. После запуска этой миграции, когда я зарегистрировал db, он стал нулевым. Хотя я сказал по умолчанию как «1». После этого я немного изменил файл миграции, как этот, тогда он сработал для меня, чтобы установить значение по умолчанию для создания файла миграции таблицы.
t.boolean: active,: null => false,: default => 1. Работал у меня.
Моя версия фреймворка Rails - 4.0.0
источник
:default => false
?Сначала вам нужно будет создать миграцию для основ модели, затем вы создадите другую миграцию, чтобы изменить предыдущую, используя change_column ...
источник