Как добавить значение по умолчанию для столбца, добавляемого командой "rails g migration"

Я знаю, как добавить значение по умолчанию в уже созданном файле миграции. то есть.,

`rails generate migration AddTestColumnToTesttable test_status:boolean` to create it.

Он сгенерирует эту миграцию:

class AddTestColumnToTable < ActiveRecord::Migration
  def change
    add_column :table, :test_status, :boolean, :default => true
  end
end

Но можем ли мы добавить значение по умолчанию через команду rails g migration?

Ответ 1

Нет, это невозможно сделать из командной строки, вам нужно изменить это в файле миграции

add_column :table, :test_status, :boolean, :default => true

Надеюсь, это поможет!

Ответ 2

** Rails 4.X + **

Теперь, поскольку нет возможности добавить новый столбец в таблицу со значением по умолчанию, определенным терминалом в миграции рельсов, Следующие шаги, которые необходимо выполнить, чтобы добавить новый столбец в существующую таблицу со значением по умолчанию true или false.

1. Запустите миграцию из командной строки, чтобы добавить новый столбец

$ rails generate migration add_columnname_to_tablename columnname:boolean

Вышеупомянутая команда добавит новый столбец в вашу таблицу.

2. Установите новое значение столбца в значение TRUE/FALSE, отредактировав новый файл миграции.

class AddColumnnameToTablename < ActiveRecord::Migration
  def change
    add_column :tablename, :columnname, :boolean, default: false
  end
end

** 3. Чтобы внести изменения в таблицу базы данных приложений, выполните следующую команду в терминале **

$ rake db:migrate