summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-05-22 14:32:38 -0400
committerDavid Gay <david@davidgay.org>2021-05-22 14:32:44 -0400
commit88bd4f77db3a4372c118a9faef613615db66bc52 (patch)
treec0ad67b0cdde98e58199052198c9b4f1c45a85f2 /db
parent2dd5608409f0a506cd2a682107d9be302cec8079 (diff)
Titles
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20210520230216_create_titles.rb12
-rw-r--r--db/migrate/20210520230859_create_title_awards.rb10
-rw-r--r--db/schema.rb23
-rw-r--r--db/seeds.rb5
4 files changed, 49 insertions, 1 deletions
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)