0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

テキストフィールドに予め値を入れておく方法

Last updated at Posted at 2021-11-13

開発環境

言語: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

データベースに初期値を入れる方法

  1. マイグレーションファイルを作成

    $ rails g migration ChangeColumnDefaultSolutionOfIncidents
    
  2. カラムに初期情報を入れる構文を記載

    class ChangeColumnDefaultSolutionOfIncident < ActiveRecord::Migration[6.1]
    SOLUTION = <<"EOS"
    【やりたいこと】
    【原因】
    【対応方法】
    【参考資料】
    EOS
      def up
        change_column :incidents, :solution, :text, null: false, default: SOLUTION
      end
    end
    
  3. マイグレーションを実行

    $ rails db:migrate
    

最後に

テスト的にマイグレーションファイルを作り、簡単な値を入れて理解を深めました。
そのときに不要になったマイグレーションファイルを削除しようとしたときロールバックができませんでした。
以下記事でその時の解決方法を記載しているので参考ください
データベースをロールバックできなくなった件

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?