開発環境
言語:Ruby (2.7.2)
フレームワーク:Ruby on Rails (6.1.3.2)
フロントエンド:HTML&CSS/Bootstrap/JavaScript/jQuey
DB:PostgreSQL
テスト:Rspec
インフラ:EC2 RDS
ソースコード管理:GitHub(issueで、タスク管理する)
データベースに予め値を入れておく方法
テキストフィールドに初期値を入れておく方法はマイグレーションファイルにdefault: "初期値"
を記載することでで可能なことがわかった。
class ChangeColumnDefaultSolutionOfIncidents < ActiveRecord::Migration[6.1]
def change
change_column :incidents, :solution, :text, null: false, default: "解決方法"
end
end
データベースに初期値を入れる方法
-
マイグレーションファイルを作成
$ rails g migration ChangeColumnDefaultSolutionOfIncidents
-
カラムに初期情報を入れる構文を記載
class ChangeColumnDefaultSolutionOfIncident < ActiveRecord::Migration[6.1] SOLUTION = <<"EOS" 【やりたいこと】 【原因】 【対応方法】 【参考資料】 EOS def up change_column :incidents, :solution, :text, null: false, default: SOLUTION end end
-
マイグレーションを実行
$ rails db:migrate
最後に
テスト的にマイグレーションファイルを作り、簡単な値を入れて理解を深めました。
そのときに不要になったマイグレーションファイルを削除しようとしたときロールバックができませんでした。
以下記事でその時の解決方法を記載しているので参考ください
データベースをロールバックできなくなった件