##開発環境
- Mac OS 10.12.6
- Rails 5.1.6
- PostgreSQL 10.1
##問題
- 既にRailsでテーブルの構成を一度作っている状態、かつ、SQLiteからPostgreSQLに変更を行なった際に、insert文でレコードを追加しようとしたら、created_atカラムがnullであると返ってくる
##目標
- insert文でレコードを追加する際にcreated_atカラムに自動で現在時刻が入る
※上の2つは縦線を境に対応する表だと思ってください!
解決策としてはalter tableコマンドを使用します。
alter tableコマンドはテーブル定義の変更をする際によく使います。
上が僕が実際に書いた変更文です。
alter table <テーブル名> alter column <カラム名> set default CYRRENT_TIMESTAMP;
するとこんな感じで、defaultの部分にCURRENT_TIMESTAMPが入りました!
これでcreated_atカラムに現在時刻が自動で挿入することができました!
【追記】 updated_atカラムの上記の方法で設定可能です。