From 40770d42403efeae07a9c24c1be22239ca42ec69 Mon Sep 17 00:00:00 2001 From: Karim Bogtob Date: Sun, 26 Mar 2023 16:06:11 +0200 Subject: [PATCH] 2.6A - Ajout de l'enum --- README.md | 5 +++++ app/models/creature.rb | 4 ++++ db/migrate/20230326140343_add_size_column_to_creatures.rb | 5 +++++ db/schema.rb | 3 ++- 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20230326140343_add_size_column_to_creatures.rb diff --git a/README.md b/README.md index cae424c..49f7d25 100644 --- a/README.md +++ b/README.md @@ -66,3 +66,8 @@ irb(main):001:0> Creature.create(name: 'Zombie', health_points: 0) * J'ai bien une 404 et son nom n'a pas changé +Question 2.6 : + +* Je génère la migration avec `rails g migration AddSizeColumnToCreatures size:integer` + +* `rails db:migrate` \ No newline at end of file diff --git a/app/models/creature.rb b/app/models/creature.rb index 129c7c1..7cc33c5 100644 --- a/app/models/creature.rb +++ b/app/models/creature.rb @@ -1,7 +1,11 @@ class Creature < ApplicationRecord scope :alive, -> { where('health_points > 0') } + enum :size, [:small, :big, :giant] + def to_label "#{name} (#{health_points})" end + + end diff --git a/db/migrate/20230326140343_add_size_column_to_creatures.rb b/db/migrate/20230326140343_add_size_column_to_creatures.rb new file mode 100644 index 0000000..41ef181 --- /dev/null +++ b/db/migrate/20230326140343_add_size_column_to_creatures.rb @@ -0,0 +1,5 @@ +class AddSizeColumnToCreatures < ActiveRecord::Migration[7.0] + def change + add_column :creatures, :size, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index d14d4e4..b9099e8 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,12 +10,13 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2023_03_26_131540) do +ActiveRecord::Schema[7.0].define(version: 2023_03_26_140343) do create_table "creatures", force: :cascade do |t| t.string "name" t.integer "health_points" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.integer "size" end end