Skip to content

Commit

Permalink
Merge pull request #70 from elan71592/new-migrations
Browse files Browse the repository at this point in the history
Created new migrations for messages, availability, requests, and flags
  • Loading branch information
elankvitko committed Jun 6, 2016
2 parents 5254b5e + c5992d3 commit 2e5199a
Show file tree
Hide file tree
Showing 10 changed files with 78 additions and 1 deletion.
2 changes: 2 additions & 0 deletions app/models/comment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ class Comment < ActiveRecord::Base
belongs_to :trip
belongs_to :user

has_many :flags, as: :flaggable

end
6 changes: 6 additions & 0 deletions app/models/flag.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class Flag < ActiveRecord::Base
validates :flagged, presence: true

belongs_to :user
belongs_to :flaggable, polymorphic: true
end
4 changes: 4 additions & 0 deletions app/models/request.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
class Request < ActiveRecord::Base
belongs_to :user
belongs_to :trip
end
3 changes: 3 additions & 0 deletions app/models/trip.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ class Trip < ActiveRecord::Base
has_many :tags, through: :trip_tags
has_many :favorites
has_many :user_favorites, through: :favorites, source: :user
has_many :requests
has_many :user_requests, through: :requests, source: :user
has_many :flags, as: :flaggable

validates :name, presence: true, uniqueness: true
end
Expand Down
3 changes: 3 additions & 0 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ class User < ActiveRecord::Base
has_many :comments
has_many :favorites
has_many :favorited_trips, through: :favorites, source: :trip
has_many :requests
has_many :requested_trips, through: :requests, source: :trip
has_many :flags

validates :first_name, :last_name, presence: true

Expand Down
5 changes: 5 additions & 0 deletions db/migrate/20160606003744_add_allow_messages_to_users.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddAllowMessagesToUsers < ActiveRecord::Migration
def change
add_column :users, :allow_messages, :boolean, :default => true
end
end
5 changes: 5 additions & 0 deletions db/migrate/20160606003914_add_available_to_users.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddAvailableToUsers < ActiveRecord::Migration
def change
add_column :users, :available, :boolean, :default => false
end
end
11 changes: 11 additions & 0 deletions db/migrate/20160606004349_create_requests.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class CreateRequests < ActiveRecord::Migration
def change
create_table :requests do |t|
t.references :user, index: true, foreign_key: true
t.references :trip, index: true, foreign_key: true
t.boolean :open, default: true

t.timestamps null: false
end
end
end
11 changes: 11 additions & 0 deletions db/migrate/20160606004946_create_flags.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
class CreateFlags < ActiveRecord::Migration
def change
create_table :flags do |t|
t.boolean :flagged, default: false
t.references :user, foreign_key: true
t.references :flaggable, polymorphic: true, index: true

t.timestamps null: false
end
end
end
29 changes: 28 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20160605224620) do
ActiveRecord::Schema.define(version: 20160606004946) do

# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
Expand All @@ -37,6 +37,17 @@
add_index "favorites", ["trip_id"], name: "index_favorites_on_trip_id", using: :btree
add_index "favorites", ["user_id"], name: "index_favorites_on_user_id", using: :btree

create_table "flags", force: :cascade do |t|
t.boolean "flagged", default: false
t.integer "user_id"
t.integer "flaggable_id"
t.string "flaggable_type"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

add_index "flags", ["flaggable_type", "flaggable_id"], name: "index_flags_on_flaggable_type_and_flaggable_id", using: :btree

create_table "locations", force: :cascade do |t|
t.string "name"
t.string "address"
Expand Down Expand Up @@ -107,6 +118,17 @@
add_index "mailboxer_receipts", ["notification_id"], name: "index_mailboxer_receipts_on_notification_id", using: :btree
add_index "mailboxer_receipts", ["receiver_id", "receiver_type"], name: "index_mailboxer_receipts_on_receiver_id_and_receiver_type", using: :btree

create_table "requests", force: :cascade do |t|
t.integer "user_id"
t.integer "trip_id"
t.boolean "open", default: true
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end

add_index "requests", ["trip_id"], name: "index_requests_on_trip_id", using: :btree
add_index "requests", ["user_id"], name: "index_requests_on_user_id", using: :btree

create_table "tags", force: :cascade do |t|
t.string "name", null: false
t.datetime "created_at", null: false
Expand Down Expand Up @@ -164,6 +186,8 @@
t.inet "last_sign_in_ip"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "allow_messages", default: true
t.boolean "available", default: false
end

add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
Expand All @@ -173,10 +197,13 @@
add_foreign_key "comments", "users"
add_foreign_key "favorites", "trips"
add_foreign_key "favorites", "users"
add_foreign_key "flags", "users"
add_foreign_key "locations", "trips"
add_foreign_key "mailboxer_conversation_opt_outs", "mailboxer_conversations", column: "conversation_id", name: "mb_opt_outs_on_conversations_id"
add_foreign_key "mailboxer_notifications", "mailboxer_conversations", column: "conversation_id", name: "notifications_on_conversation_id"
add_foreign_key "mailboxer_receipts", "mailboxer_notifications", column: "notification_id", name: "receipts_on_notification_id"
add_foreign_key "requests", "trips"
add_foreign_key "requests", "users"
add_foreign_key "trip_tags", "tags"
add_foreign_key "trip_tags", "trips"
add_foreign_key "trips", "users"
Expand Down

0 comments on commit 2e5199a

Please sign in to comment.