From 3378790764d471e5d7a5946d429bff733843aa67 Mon Sep 17 00:00:00 2001 From: kikito Date: Fri, 7 Aug 2015 17:04:50 +0200 Subject: [PATCH] Adds migrations & models for administrators & moderators --- app/models/administrator.rb | 6 ++++++ app/models/moderator.rb | 6 ++++++ .../20150807140235_create_administrators.rb | 7 +++++++ db/migrate/20150807140346_create_moderators.rb | 7 +++++++ db/schema.rb | 16 +++++++++++++++- 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 app/models/administrator.rb create mode 100644 app/models/moderator.rb create mode 100644 db/migrate/20150807140235_create_administrators.rb create mode 100644 db/migrate/20150807140346_create_moderators.rb diff --git a/app/models/administrator.rb b/app/models/administrator.rb new file mode 100644 index 000000000..c82c4f728 --- /dev/null +++ b/app/models/administrator.rb @@ -0,0 +1,6 @@ +class Administrator < ActiveRecord::Base + belongs_to :user + delegate :name, :email, to: :user + + validates :user_id, presence: true +end diff --git a/app/models/moderator.rb b/app/models/moderator.rb new file mode 100644 index 000000000..6cfe0c291 --- /dev/null +++ b/app/models/moderator.rb @@ -0,0 +1,6 @@ +class Moderator < ActiveRecord::Base + belongs_to :user + delegate :name, :email, to: :user + + validates :user_id, presence: true +end diff --git a/db/migrate/20150807140235_create_administrators.rb b/db/migrate/20150807140235_create_administrators.rb new file mode 100644 index 000000000..d844531a4 --- /dev/null +++ b/db/migrate/20150807140235_create_administrators.rb @@ -0,0 +1,7 @@ +class CreateAdministrators < ActiveRecord::Migration + def change + create_table :administrators do |t| + t.belongs_to :user, index: true, foreign_key: true + end + end +end diff --git a/db/migrate/20150807140346_create_moderators.rb b/db/migrate/20150807140346_create_moderators.rb new file mode 100644 index 000000000..526a29944 --- /dev/null +++ b/db/migrate/20150807140346_create_moderators.rb @@ -0,0 +1,7 @@ +class CreateModerators < ActiveRecord::Migration + def change + create_table :moderators do |t| + t.belongs_to :user, index: true, foreign_key: true + end + end +end diff --git a/db/schema.rb b/db/schema.rb index e5f6f9c0a..7833fc34c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,11 +11,17 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150806140048) do +ActiveRecord::Schema.define(version: 20150807140346) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" + create_table "administrators", force: :cascade do |t| + t.integer "user_id" + end + + add_index "administrators", ["user_id"], name: "index_administrators_on_user_id", using: :btree + create_table "comments", force: :cascade do |t| t.integer "commentable_id" t.string "commentable_type" @@ -41,6 +47,12 @@ ActiveRecord::Schema.define(version: 20150806140048) do t.datetime "updated_at", null: false end + create_table "moderators", force: :cascade do |t| + t.integer "user_id" + end + + add_index "moderators", ["user_id"], name: "index_moderators_on_user_id", using: :btree + create_table "taggings", force: :cascade do |t| t.integer "tag_id" t.integer "taggable_id" @@ -103,4 +115,6 @@ ActiveRecord::Schema.define(version: 20150806140048) do add_index "votes", ["votable_id", "votable_type", "vote_scope"], name: "index_votes_on_votable_id_and_votable_type_and_vote_scope", using: :btree add_index "votes", ["voter_id", "voter_type", "vote_scope"], name: "index_votes_on_voter_id_and_voter_type_and_vote_scope", using: :btree + add_foreign_key "administrators", "users" + add_foreign_key "moderators", "users" end