ポケモンのデータをDBで表現する

こんにちは!kossyです!



昨日、「ポケモンのデータをDBに保存する」
というブログを書いたのですが、肝心のDB定義を忘れていました。


class CreatePokemons < ActiveRecord::Migration[5.2]
  def change
    create_table :pokemons do |t|
      t.integer :number, null: false, unique: true
      t.string :name, null: false, unique: true
      t.string :type_1, null: false
      t.string :type_2
      t.integer :hp, null: false
      t.integer :attack, null: false
      t.integer :defense, null: false
      t.integer :sp_attack, null: false
      t.integer :sp_defense, null: false
      t.integer :speed, null: false
      t.integer :total, null: false

      t.timestamps
    end

    add_index :pokemons, :number
    add_index :pokemons, :name
    add_index :pokemons, :type_1
    add_index :pokemons, :type_2
  end
end

トータル種族値をカラムに保存するか、全てを足して表示するかで悩んだのですが、
DBに保存した方が何かと便利かなと思い、カラムを用意することにしました。