#プログラミングの勉強日記
2020年7月20日 Progate Lv.211
Ruby on RailsⅧ
#データベースの用意
マイグレーションファイルと呼ばれるデータベースに変更を指示するためのファイルを作成する。rails g model モデル名 カラム名:型
で作成できる。モデル名は必ず最初を大文字にして、単数形にする。なので、postsテーブルを作成するが、この場合単数形にする。モデルについては下で記述する。
マイグレーションファイルはdb/migrate
フォルダの下に作成される。
$ rails generate model Post content:text
これを実行すると、app/models
フォルダにモデルが定義されたファイルと、db/migrate
フォルダにマイグレーションファイルの2つのファイルが生成される。
##データベースに変更を反映する
rails db:migrate
コマンドを実行すると、データベースに変更を反映できる。テーブル作成時にはid
、created_at
、updated_at
が自動生成される。データベースに反映されていないマイグレーションファイルが存在する状態でページにアクセスすると、マイグレーションエラーが発生する。なので、マイグレーションファイルを作成した場合は必ずこのコマンドを実行する。
#指定する型
型 | 意味 |
---|---|
string | 文字列(1〜255文字) |
text | 長い文字列(1〜4294967296文字) |
integer | 整数(4バイト) |
bigint | 整数(8バイト) |
float | 浮動小数 |
decimal | 精度の高い小数 |
numeric | 数値 |
datetime | 日時 |
timestamp | タイムスタンプ |
time | 時間 |
date | 日付 |
binary | バイナリデータ |
boolean | 真偽値型 |
日時:日付と時刻の形式YYYY-MM-DD HH:MM:SS
タイムスタンプ:1970年1月1日からの秒数を格納
#参考文献
https://www.it-swarm-ja.tech/ja/ruby-on-rails/ruby-on-rails%e3%81%a7%e3%81%af%e3%80%81datetime%e3%80%81timestamp%e3%80%81time%e3%80%81date%e3%81%ae%e9%81%95%e3%81%84%e3%81%af%e4%bd%95%e3%81%a7%e3%81%99%e3%81%8b%ef%bc%9f/970613851/
https://chinatz.hatenablog.com/entry/2018/07/20/210000