作成日: 2021/12/14
3

Migration = データベースの設計図を作成中。
教科書通りに記述すれば正解なんだけど、それだけでは全然アタマに入らないので意味を把握しながら進める。

class CreateFoods < ActiveRecord::Migration[6.0]
  def change
    create_table :foods do |t|
      t.references :restaurant, null: false, foreign_key: true
      t.string :name, null: false
      t.integer :price, null: false
      t.text :description, null: false

      t.timestamps
    end
  end
end

stringはわかるとしてintegerってなんぞ... stringとtextの違いは?

良い参考資料がありました。Ruby on Rails データ型は何が適しているかを考える

単語 意味
string 文字列(1〜255文字)
text 長い文字列(1〜4294967296文字)
integer 整数(4バイト)
bigint 整数(8バイト)

へぇー。

あれ、referencesは? と思って下記図を見たら納得した。
218b14dbf9e4c87410764962c06952d1.png
確かに、foodsにはrestaurant_idが必要ですな。

【余談】migrationは「移行」という意味。外国へ行くと出会うimmigrationは「中へ移動 = 入国」というわけですね。


JavaScriptとSassと英語が好き。