summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-05-02 17:42:23 -0400
committerDavid Gay <david@davidgay.org>2021-05-02 17:42:23 -0400
commitd717f7db2279a35b1259030b9b31e966a341fe99 (patch)
tree085791f07eba5ff232909baddcb267aa9061adaa /db
parent7997e112fbc67eef309bb3969ad41f90a8bfbc89 (diff)
Add items
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20210502212517_create_items.rb14
-rw-r--r--db/schema.rb13
-rw-r--r--db/seeds.rb10
3 files changed, 36 insertions, 1 deletions
diff --git a/db/migrate/20210502212517_create_items.rb b/db/migrate/20210502212517_create_items.rb
new file mode 100644
index 0000000..1bb17ce
--- /dev/null
+++ b/db/migrate/20210502212517_create_items.rb
@@ -0,0 +1,14 @@
+class CreateItems < ActiveRecord::Migration[6.1]
+ def change
+ create_table :items do |t|
+ t.string :gid
+ t.string :name
+ t.text :description
+ t.integer :equip_slot
+ t.boolean :usable
+ t.jsonb :whatnot
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 5fc0f94..67fd0f5 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,11 +10,22 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 2021_05_02_200959) do
+ActiveRecord::Schema.define(version: 2021_05_02_212517) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
+ create_table "items", force: :cascade do |t|
+ t.string "gid"
+ t.string "name"
+ t.text "description"
+ t.integer "equip_slot"
+ t.boolean "usable"
+ t.jsonb "whatnot"
+ t.datetime "created_at", precision: 6, null: false
+ t.datetime "updated_at", precision: 6, null: false
+ end
+
create_table "skills", force: :cascade do |t|
t.string "gid"
t.string "name"
diff --git a/db/seeds.rb b/db/seeds.rb
index 637a355..2008d89 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -14,3 +14,13 @@ load_data_file("data/skills.yml").map do |gid, hash|
skill = Skill.find_or_create_by(gid: gid)
skill.update(hash)
end
+
+load_data_file("data/items.yml").map do |gid, hash|
+ item = Item.find_or_create_by(gid: gid)
+ item.name = hash[:name]
+ item.description = hash[:description]
+ item.equip_slot = hash[:equip_slot]&.to_sym
+ item.usable = hash[:usable] || false
+ item.whatnot = hash[:whatnot]
+ item.save
+end