aboutsummaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20201005154908_create_agents.rb11
-rw-r--r--db/migrate/20201005155004_create_agencies.rb12
-rw-r--r--db/schema.rb35
3 files changed, 57 insertions, 1 deletions
diff --git a/db/migrate/20201005154908_create_agents.rb b/db/migrate/20201005154908_create_agents.rb
new file mode 100644
index 0000000..32792ee
--- /dev/null
+++ b/db/migrate/20201005154908_create_agents.rb
@@ -0,0 +1,11 @@
+class CreateAgents < ActiveRecord::Migration[6.0]
+ def change
+ create_table :agents do |t|
+ t.string :name
+ t.uuid :uuid
+
+ t.timestamps
+ end
+ add_index :agents, [:uuid], unique: true
+ end
+end
diff --git a/db/migrate/20201005155004_create_agencies.rb b/db/migrate/20201005155004_create_agencies.rb
new file mode 100644
index 0000000..ab7cb03
--- /dev/null
+++ b/db/migrate/20201005155004_create_agencies.rb
@@ -0,0 +1,12 @@
+class CreateAgencies < ActiveRecord::Migration[6.0]
+ def change
+ create_table :agencies do |t|
+ t.references :agent, null: false, foreign_key: true
+ t.references :user, null: false, foreign_key: true
+ t.integer :roles, default: 0, null: false, limit: 2
+
+ t.timestamps
+ end
+ add_index :agencies, [:agent_id, :user_id], unique: true
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index b10373b..ef4f4cd 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,9 +10,42 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 0) do
+ActiveRecord::Schema.define(version: 2020_10_05_155004) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
+ create_table "agencies", force: :cascade do |t|
+ t.bigint "agent_id", null: false
+ t.bigint "user_id", null: false
+ t.integer "roles", limit: 2, default: 0, null: false
+ t.datetime "created_at", precision: 6, null: false
+ t.datetime "updated_at", precision: 6, null: false
+ t.index ["agent_id", "user_id"], name: "index_agencies_on_agent_id_and_user_id", unique: true
+ t.index ["agent_id"], name: "index_agencies_on_agent_id"
+ t.index ["user_id"], name: "index_agencies_on_user_id"
+ end
+
+ create_table "agents", force: :cascade do |t|
+ t.string "name"
+ t.uuid "uuid"
+ t.datetime "created_at", precision: 6, null: false
+ t.datetime "updated_at", precision: 6, null: false
+ t.index ["uuid"], name: "index_agents_on_uuid", unique: true
+ end
+
+ create_table "users", force: :cascade do |t|
+ t.string "name"
+ t.string "username"
+ t.string "email"
+ t.bigint "external_id"
+ t.string "avatar_url"
+ t.datetime "created_at", precision: 6, null: false
+ t.datetime "updated_at", precision: 6, null: false
+ t.index ["email"], name: "index_users_on_email", unique: true
+ t.index ["external_id"], name: "index_users_on_external_id", unique: true
+ end
+
+ add_foreign_key "agencies", "agents"
+ add_foreign_key "agencies", "users"
end