Можно ли вызвать change_table из командной строки с миграциями ActiveRecord? - PullRequest
0 голосов
/ 27 октября 2018

Можно вызвать синтаксис create_table в миграции из командной строки, указав ключевое слово «Create» в имени миграции:

rails g migration CreateMyTables name:string

Это создаст миграцию со следующим содержимым:

class CreateMyTables < ActiveRecord::Migration
  def change
    create_table :my_tables do |t|
      t.string :name
    end
  end
end

Я бы хотел сделать то же самое, но с ключевым словом "Изменить". Так что из командной строки я бы запустил:

rails g migration ChangeMyTables user:references

Вот что я получил:

class ChangeMyTables < ActiveRecord::Migration
  def change
  end
end

Это то, что я ожидал:

class ChangeMyTables < ActiveRecord::Migration
  def change
    change_table :my_tables do |t|
      t.references :user, index: true
    end
  end
end

1 Ответ

0 голосов
/ 27 октября 2018

Существует способ добавить столбец ссылок из командной строки:

rails g migration AddUserToMyTable user:references

Примечание : чтобы добавить столбец в таблицу, мы используем соглашение Add[column]To[table] для переименованияМиграция.

Результат будет похож на:

class AddUserToMyTable < ActiveRecord::Migration[5.2]
  def change
    add_reference :my_tables, :user, foreign_key: true
  end
end

Примечание: foreign_key: true создаст для вас индекс.

Подробнеео add_reference .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...