差分

移動先: 案内検索

Tep3-onk-2

1,340 バイト追加, 2023年5月9日 (火) 14:54
あとから外部キー制約を追加する
% psql --username=jq tep5_development < ../202212270953_data_only.sql
=== あとから外部キー制約を追加する あとから外部キー制約を追加する手順 ===親テーブルと子テーブルのIDを比較する 不整合があればテーブルを修正する <nowiki>=# SELECT id FROM othersEXCEPTSELECT other_id FROM journals UNION ALLSELECT other_id FROM journals EXCEPTSELECT id FROM others order by id; id ------ 2435</nowiki> 外部キー制約を追加するmigration ファイルをつくる <nowiki> % rails generate migration AddClientReferenceToJournal client:references invoke active_record create db/migrate/20230509044227_add_client_reference_to_journal.rb% rails generate migration AddOtherReferenceToJournal other:references invoke active_record create db/migrate/20230509044353_add_other_reference_to_journal.rb</nowiki> rails db:migrateでエラー すでにother_idカラムが存在するのでadd_referenceメソッドが実行できない 直接データベースを操作してother_idカラム名をhoge_idカラム名に変更する  ALTER TABLE journals RENAME COLUMN other_id TO hoge_id;  rails db:migrate rails consoleを使用してhoge_idカラムの値をother_idカラムにコピーする  Journal.update_all('other_id = hoge_id') hoge_idを削除する
== gemアップデート ==

案内メニュー