最新版 |
編集中の文章 |
1行目: |
1行目: |
| [[category:memo|{{PAGENAME}}]] | | [[category:memo|{{PAGENAME}}]] |
| {{Font color}} | | {{Font color}} |
− | == tep5 準備 == | + | == 準備 == |
| プロジェクトディレクトリ作成 移動 [[rails前バージョン確認|バージョン確認]] | | プロジェクトディレクトリ作成 移動 [[rails前バージョン確認|バージョン確認]] |
| | | |
621行目: |
621行目: |
| INSERT 0 918</nowiki> | | INSERT 0 918</nowiki> |
| | | |
− | generate | + | ==== generate ==== |
| % rails generate scaffold Place user:references note:references client:references zip:string ken:string city:string etc:string flag:boolean memo:text | | % rails generate scaffold Place user:references note:references client:references zip:string ken:string city:string etc:string flag:boolean memo:text |
| | | |
1,431行目: |
1,431行目: |
| バックアップを取る -Fc カスタム形式 圧縮ファイル形式 | | バックアップを取る -Fc カスタム形式 圧縮ファイル形式 |
| % pg_dump -Fc tep5_development > ../202212141027.dump | | % pg_dump -Fc tep5_development > ../202212141027.dump |
− |
| |
− | == house_note ==
| |
− | 旧データベースからダンプ
| |
− | % pg_dump --username=jq --table house_notes latest_dump > ../hns.sql
| |
− |
| |
− | サーバーへ転送
| |
− | % rsync -r --delete --exclude-from='exclude-file.txt' ~/rails_app_tepnote/hns.sql jq:/home/jq/dump_data
| |
− |
| |
− | リストア
| |
− | $ psql update_dump < ../hns.sql
| |
− |
| |
− | clientsのidとhouse_noteのidをあわせる
| |
− | <nowiki>tep5_production=# update house_notes SET ie_id = ie_id + 20000 where jiin_id = 2;
| |
− | UPDATE 30
| |
− | tep5_production=# update house_notes SET ie_id = ie_id + 30000 where jiin_id = 3;
| |
− | UPDATE 114
| |
− | tep5_production=# update house_notes SET ie_id = ie_id + 40000 where jiin_id = 4;
| |
− | UPDATE 25</nowiki>
| |
− |
| |
− | セレクトしてアップデートする
| |
− | tep5_production=# UPDATE clients as Cl SET memo = (SELECT content FROM house_notes as Hn WHERE Hn.ie_id = Cl.id);
| |
− |
| |
− | 削除
| |
− | =# drop table house_notes ;
| |
| | | |
| == UUIDを有効にする == | | == UUIDを有効にする == |
1,531行目: |
1,507行目: |
| | | |
| $ rails generate scaffold Post content:text user:references picture:string | | $ rails generate scaffold Post content:text user:references picture:string |
− |
| |
− | $ rails generate scaffold Post user:references title:string content:text notification_time:datetime reminder_type:integer post_type:integer picture:string
| |
| | | |
| $ rails generate model Relationship follower_id:integer followed_id:integer | | $ rails generate model Relationship follower_id:integer followed_id:integer |
1,547行目: |
1,521行目: |
| config/envitonments/production.rb | | config/envitonments/production.rb |
| config.assets.compile = true | | config.assets.compile = true |
− |
| |
− | === カラム追加 ===
| |
− | <nowiki>% rails generate migration add_memo_to_schedules memo:text
| |
− | invoke active_record
| |
− | create db/migrate/20230311013341_add_memo_to_schedules.rb
| |
− | % rails db:migrate
| |
− | == 20230311013341 AddMemoToSchedules: migrating ===============================
| |
− | -- add_column(:schedules, :memo, :text)
| |
− | -> 0.0056s
| |
− | == 20230311013341 AddMemoToSchedules: migrated (0.0057s) ======================</nowiki>
| |
− |
| |
− | === 外部キー制約に変更 ===
| |
− | rails generate migration AddScheduleReferenceToJournal schedule:references
| |
| | | |
| == サーバーへ転送 == | | == サーバーへ転送 == |
1,691行目: |
1,652行目: |
| | | |
| == データベース変更 == | | == データベース変更 == |
− | === まるごと ===
| |
| ダンプ 本番データベースバックアップ データのみ | | ダンプ 本番データベースバックアップ データのみ |
| $ pg_dump -a tep5_production > ~/dump_data/202212270953_data_only.sql | | $ pg_dump -a tep5_production > ~/dump_data/202212270953_data_only.sql |
1,704行目: |
1,664行目: |
| % rails db:create | | % rails db:create |
| | | |
− | マイグレーション変更 | + | マイグレーション変更 |
| | | |
| マイグレーション | | マイグレーション |
1,711行目: |
1,671行目: |
| リストア | | リストア |
| % psql --username=jq tep5_development < ../202212270953_data_only.sql | | % psql --username=jq tep5_development < ../202212270953_data_only.sql |
− |
| |
− | === カラム追加 boolean ===
| |
− | % rails generate migration add_payment_to_descriptions payment:boolean
| |
− |
| |
− | add_column :descriptions, :payment, :boolean, default: false
| |
− |
| |
− | $ rails db:migrate
| |
− |
| |
− | === あとから外部キー制約を追加する手順 ===
| |
− | 親テーブルと子テーブルのIDを比較する 不整合があればテーブルを修正する
| |
− | <nowiki>=# SELECT id FROM others
| |
− | EXCEPT
| |
− | SELECT other_id FROM journals
| |
− | UNION ALL
| |
− | SELECT other_id FROM journals
| |
− | EXCEPT
| |
− | SELECT 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
| |
− |
| |
− | hoge_idカラムの値をother_idカラムにコピーする
| |
− | UPDATE journals SET other_id = hoge_id;
| |
− |
| |
− | ローカルならrails consoleを使用して
| |
− |
| |
− | Journal.update_all('other_id = hoge_id')
| |
− |
| |
− | hoge_idを削除する
| |
− | ALTER TABLE journals DROP COLUMN hoge_id;
| |
− |
| |
− | === エラー ===
| |
− | 例えば待避したhoge_idを戻すとき次のようなエラーがでる
| |
− | <nowiki>=# UPDATE journals SET schedule_id = hoge_id;
| |
− | ERROR: insert or update on table "journals" violates foreign key constraint "fk_rails_9d4d4268db"
| |
− | DETAIL: Key (schedule_id)=(970) is not present in table "schedules".</nowiki>
| |
− | journalsテーブルのschedule_idがschedulesテーブルにないのでそれを拾い出して削除する
| |
− | <nowiki>=# delete from journals where hoge_id in (
| |
− | SELECT id FROM schedules
| |
− | EXCEPT
| |
− | SELECT hoge_id FROM journals
| |
− | UNION ALL
| |
− | SELECT hoge_id FROM journals
| |
− | EXCEPT
| |
− | SELECT id FROM schedules);</nowiki>
| |
− |
| |
− | == gemアップデート ==
| |
− | 確認
| |
− | % gem -v
| |
− | アップデート対象Gemを一覧表示
| |
− | % bundle outdated
| |
− |
| |
− | == 備忘 ==
| |
− | 現在UUIDコメントアウト中 config/initializers/generators.rb
| |