From 88bd4f77db3a4372c118a9faef613615db66bc52 Mon Sep 17 00:00:00 2001 From: David Gay Date: Sat, 22 May 2021 14:32:38 -0400 Subject: Titles --- db/migrate/20210520230216_create_titles.rb | 12 ++++++++++++ db/migrate/20210520230859_create_title_awards.rb | 10 ++++++++++ db/schema.rb | 23 ++++++++++++++++++++++- db/seeds.rb | 5 +++++ 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20210520230216_create_titles.rb create mode 100644 db/migrate/20210520230859_create_title_awards.rb (limited to 'db') diff --git a/db/migrate/20210520230216_create_titles.rb b/db/migrate/20210520230216_create_titles.rb new file mode 100644 index 0000000..512773f --- /dev/null +++ b/db/migrate/20210520230216_create_titles.rb @@ -0,0 +1,12 @@ +class CreateTitles < ActiveRecord::Migration[6.1] + def change + create_table :titles do |t| + t.string :gid + t.string :name + + t.timestamps + end + + add_reference :characters, :active_title, foreign_key: { to_table: :titles } + end +end diff --git a/db/migrate/20210520230859_create_title_awards.rb b/db/migrate/20210520230859_create_title_awards.rb new file mode 100644 index 0000000..795cd5e --- /dev/null +++ b/db/migrate/20210520230859_create_title_awards.rb @@ -0,0 +1,10 @@ +class CreateTitleAwards < ActiveRecord::Migration[6.1] + def change + create_table :title_awards do |t| + t.references :title, null: false, foreign_key: true + t.references :character, null: false, foreign_key: true + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 562eacf..f2d776a 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_05_20_222335) do +ActiveRecord::Schema.define(version: 2021_05_20_230859) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -66,6 +66,8 @@ ActiveRecord::Schema.define(version: 2021_05_20_222335) do t.datetime "recent_request_at" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false + t.bigint "active_title_id" + t.index ["active_title_id"], name: "index_characters_on_active_title_id" t.index ["activity_id"], name: "index_characters_on_activity_id" t.index ["user_id"], name: "index_characters_on_user_id" end @@ -147,6 +149,22 @@ ActiveRecord::Schema.define(version: 2021_05_20_222335) do t.index ["gid"], name: "index_skills_on_gid" end + create_table "title_awards", force: :cascade do |t| + t.bigint "title_id", null: false + t.bigint "character_id", null: false + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["character_id"], name: "index_title_awards_on_character_id" + t.index ["title_id"], name: "index_title_awards_on_title_id" + end + + create_table "titles", force: :cascade do |t| + t.string "gid" + t.string "name" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + end + create_table "users", force: :cascade do |t| t.string "email", default: "", null: false t.string "encrypted_password", default: "", null: false @@ -183,6 +201,7 @@ ActiveRecord::Schema.define(version: 2021_05_20_222335) do add_foreign_key "character_skills", "characters" add_foreign_key "character_skills", "skills" add_foreign_key "characters", "activities" + add_foreign_key "characters", "titles", column: "active_title_id" add_foreign_key "characters", "users" add_foreign_key "chat_messages", "characters", column: "sender_id" add_foreign_key "chat_messages", "characters", column: "target_id" @@ -190,5 +209,7 @@ ActiveRecord::Schema.define(version: 2021_05_20_222335) do add_foreign_key "hearths", "characters" add_foreign_key "learned_activities", "activities" add_foreign_key "learned_activities", "characters" + add_foreign_key "title_awards", "characters" + add_foreign_key "title_awards", "titles" add_foreign_key "users", "characters", column: "active_character_id" end diff --git a/db/seeds.rb b/db/seeds.rb index 7adf0fc..ca72f1e 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -15,6 +15,11 @@ load_data_file("data/chat_rooms.yml").map do |gid, hash| chat_room.update(hash) end +load_data_file("data/titles.yml").map do |gid, hash| + title = Title.find_or_create_by(gid: gid) + title.update(hash) +end + load_data_file("data/skills.yml").map do |gid, hash| skill = Skill.find_or_create_by(gid: gid) skill.update(hash) -- cgit v1.2.3