summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-05-19 22:53:38 -0400
committerDavid Gay <david@davidgay.org>2021-05-19 22:53:38 -0400
commit9415011b5fd192f1bafeaa9b6eacbb7921382a00 (patch)
treef25d9d633237cae5d7b73166e6612a9b53312714 /db
parentda678b22b5db05554b44234b341fabc9d83ff700 (diff)
Chat
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20210520013553_create_chat_rooms.rb11
-rw-r--r--db/migrate/20210520014637_create_chat_messages.rb12
-rw-r--r--db/schema.rb25
-rw-r--r--db/seeds.rb5
4 files changed, 52 insertions, 1 deletions
diff --git a/db/migrate/20210520013553_create_chat_rooms.rb b/db/migrate/20210520013553_create_chat_rooms.rb
new file mode 100644
index 0000000..fadba64
--- /dev/null
+++ b/db/migrate/20210520013553_create_chat_rooms.rb
@@ -0,0 +1,11 @@
+class CreateChatRooms < ActiveRecord::Migration[6.1]
+ def change
+ create_table :chat_rooms do |t|
+ t.string :gid
+ t.string :name
+ t.integer :permission_level
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20210520014637_create_chat_messages.rb b/db/migrate/20210520014637_create_chat_messages.rb
new file mode 100644
index 0000000..a020104
--- /dev/null
+++ b/db/migrate/20210520014637_create_chat_messages.rb
@@ -0,0 +1,12 @@
+class CreateChatMessages < ActiveRecord::Migration[6.1]
+ def change
+ create_table :chat_messages do |t|
+ t.references :chat_room, null: false, foreign_key: true
+ t.references :sender, foreign_key: { to_table: :characters }
+ t.references :target, foreign_key: { to_table: :characters }
+ t.text :body
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 4f75f04..ee68bb9 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_013124) do
+ActiveRecord::Schema.define(version: 2021_05_20_014637) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -69,6 +69,26 @@ ActiveRecord::Schema.define(version: 2021_05_20_013124) do
t.index ["user_id"], name: "index_characters_on_user_id"
end
+ create_table "chat_messages", force: :cascade do |t|
+ t.bigint "chat_room_id", null: false
+ t.bigint "sender_id"
+ t.bigint "target_id"
+ t.text "body"
+ t.datetime "created_at", precision: 6, null: false
+ t.datetime "updated_at", precision: 6, null: false
+ t.index ["chat_room_id"], name: "index_chat_messages_on_chat_room_id"
+ t.index ["sender_id"], name: "index_chat_messages_on_sender_id"
+ t.index ["target_id"], name: "index_chat_messages_on_target_id"
+ end
+
+ create_table "chat_rooms", force: :cascade do |t|
+ t.string "gid"
+ t.string "name"
+ t.integer "permission_level"
+ t.datetime "created_at", precision: 6, null: false
+ t.datetime "updated_at", precision: 6, null: false
+ end
+
create_table "hearth_amenities", force: :cascade do |t|
t.string "gid"
t.string "name"
@@ -154,6 +174,9 @@ ActiveRecord::Schema.define(version: 2021_05_20_013124) do
add_foreign_key "character_skills", "skills"
add_foreign_key "characters", "activities"
add_foreign_key "characters", "users"
+ add_foreign_key "chat_messages", "characters", column: "sender_id"
+ add_foreign_key "chat_messages", "characters", column: "target_id"
+ add_foreign_key "chat_messages", "chat_rooms"
add_foreign_key "hearths", "characters"
add_foreign_key "users", "characters", column: "active_character_id"
end
diff --git a/db/seeds.rb b/db/seeds.rb
index cf4caa6..7adf0fc 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -10,6 +10,11 @@ def load_data_file(path)
YAML.load(File.read(path)).deep_transform_keys(&:to_sym)
end
+load_data_file("data/chat_rooms.yml").map do |gid, hash|
+ chat_room = ChatRoom.find_or_create_by(gid: gid)
+ chat_room.update(hash)
+end
+
load_data_file("data/skills.yml").map do |gid, hash|
skill = Skill.find_or_create_by(gid: gid)
skill.update(hash)