yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

<DAY111>マイグレーションファイルにファイルを追加するには?

\ Follow me!! /

UPされたマイグレーションファイルをうっかり消してしまった場合

初歩的だが、少し困ったなので、アウトプットする。

rake db:migrate:status

にて状況を確認すると、マイグレーションファイルはUPされているが、
NODATEの状態であった。
マイグレーションファイルをdownの状態にさせて削除するにはどうするか確認した。

手順1 ダミーのマイグレーションファイルを生成する。

UPされているマイグレーションファイルのナンバーを確認。
ナンバーに応じてファイル名を記入

'20190517143914_tmp.rb'

ファイルには空の内容を記載する

class Tmp < ActiveReocrd::Migration

def cange
end

end

これをすると、ファイルを認識する事ができる。

手順2 version指定してdownさせる

指定してdownさせると手違いがない。

bundle exec rakedb:migrate:down VERSION=20190517143914

参考文献

joppot.info


外部キーを追加する手順

migrateファイルを作成

rails g migrate AddColumnHogeId

外部キーを追加する時に、オプションはセット。idは加えないがポイント

class AddColumnHogeId < ActiveReocrd::Migration[5.2]

  def change
    add_reference :TableName, :gaibukey, foreign_key: true
  end

end

親要素が削除された子要素もひもづき削除するオプション

validates設定時に使用する。

belongs_to :hoge, dependent: :destory

参考文献

関連づけを使用する場合を参照

railsguides.jp