A

プログラミングの学習記録

【本日の学習内容:新規アプリの作成(DB修正、ユーザー名の表示)】

DB修正、ユーザー名の表示について取り組みました。

 基本的なことですが、

 

rails db:rollbackするとDBに保存されているデータが消えることや

 

PKをもつテーブルを先にupにしないと関連付けのエラーが出てしまうことを学びました。

 

今日は以下のように何度もrails db:rollbackしたので、理解が深まりました。

 

DB構造は一番初めにかなり慎重に詰めないといけないですね。

 

最初にまとめてテーブルを作成したのですが、

 

少しでも変更をする可能性がある場合は

 

都度、テーブル作成したほうが良いと感じました。

 

- 既にあるexpected_questionsテーブルにuser(references型)を後から追加したいので、再度一から作り直す
- rails db:rollback step=⚪︎ コマンドでdownに戻す
- rails d model ExpectedQuestion コマンド
- rails g model ExpectedQuestion title:string content:text user:references
- bundle exec rake db:migrate
- documentsテーブルに後から null false を入れるかわりにdefalt値を決めていたが、ついでにこちらも再度一から作り直す
- rails db:rollback step=⚪︎ コマンドでdownに戻す
- admin/documents.rbとadmin/correctons.rbの記述をコメントアウトする
- rails d model Document を実行
- rails d model Correction を実行
- bundle exec rake db:migrateで、DocumentのPKとなるUserをupに する
- rails g model Document title:string content:text user:references を実行
- bundle exec rake db:migrate で、CorrectionのPKとなるDocumentをupに する
-rails g model Correction content:text document:references user:references を実行
- bundle exec rake db:migrate を実行する
- admin/documents.rbとadmin/correctons.rbの記述のコメントアウトを解除
- あらためて作成されたモデルにバリデーションを入れ直す
- rails db:rollback で消えたDB内のデータをrakeタスクなどで再度入れる