Rooms belong to venue
This commit is contained in:
parent
feabbfbc99
commit
f840f2b3f0
31 changed files with 221 additions and 166 deletions
|
|
@ -21,6 +21,7 @@ class CreateProgramsTable< ActiveRecord::Migration
|
|||
t.integer :rating, default: 0
|
||||
t.boolean :schedule_public, default: false
|
||||
t.boolean :schedule_fluid, default: false
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_column :call_for_papers, :program_id, :integer
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveRecord::Migration
|
||||
class RenameConferenceIdToProgramIdInEventsTracksDifficultyLevels < ActiveRecord::Migration
|
||||
class TempConference < ActiveRecord::Base
|
||||
self.table_name = 'conferences'
|
||||
end
|
||||
|
|
@ -19,10 +19,6 @@ class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveR
|
|||
self.table_name = 'difficulty_levels'
|
||||
end
|
||||
|
||||
class TempRoom < ActiveRecord::Base
|
||||
self.table_name = 'rooms'
|
||||
end
|
||||
|
||||
class TempProgram < ActiveRecord::Base
|
||||
self.table_name = 'programs'
|
||||
end
|
||||
|
|
@ -32,7 +28,6 @@ class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveR
|
|||
add_column :event_types, :program_id, :integer
|
||||
add_column :tracks, :program_id, :integer
|
||||
add_column :difficulty_levels, :program_id, :integer
|
||||
add_column :rooms, :program_id, :integer
|
||||
|
||||
TempConference.all.each do |conference|
|
||||
program = Program.find_by(conference_id: conference.id)
|
||||
|
|
@ -56,18 +51,12 @@ class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveR
|
|||
difficulty_level.program_id = program.id
|
||||
difficulty_level.save!
|
||||
end
|
||||
|
||||
TempRoom.where(conference_id: conference.id).each do |room|
|
||||
room.program_id = program.id
|
||||
room.save!
|
||||
end
|
||||
end
|
||||
|
||||
remove_column :events, :conference_id
|
||||
remove_column :event_types, :conference_id
|
||||
remove_column :tracks, :conference_id
|
||||
remove_column :difficulty_levels, :conference_id
|
||||
remove_column :rooms, :conference_id
|
||||
end
|
||||
|
||||
def down
|
||||
|
|
@ -75,7 +64,6 @@ class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveR
|
|||
add_column :event_types, :conference_id, :integer
|
||||
add_column :tracks, :conference_id, :integer
|
||||
add_column :difficulty_levels, :conference_id, :integer
|
||||
add_column :rooms, :conference_id, :integer
|
||||
|
||||
TempConference.all.each do |conference|
|
||||
program = TempProgram.find_by(conference_id: conference.id)
|
||||
|
|
@ -100,11 +88,6 @@ class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveR
|
|||
difficulty_level.conference_id = conference.id
|
||||
difficulty_level.save!
|
||||
end
|
||||
|
||||
TempRoom.where(program_id: program.id).each do |room|
|
||||
room.conference_id = conference.id
|
||||
room.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -112,6 +95,5 @@ class RenameConferenceIdToProgramIdInEventsRoomsTracksDifficultyLevels < ActiveR
|
|||
remove_column :event_types, :program_id
|
||||
remove_column :tracks, :program_id
|
||||
remove_column :difficulty_levels, :program_id
|
||||
remove_column :rooms, :program_id
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
class ChangeConferenceIdToVenueIdInRooms < ActiveRecord::Migration
|
||||
class TempConference < ActiveRecord::Base
|
||||
self.table_name = 'conferences'
|
||||
|
||||
has_one :temp_venue
|
||||
end
|
||||
|
||||
class TempVenue < ActiveRecord::Base
|
||||
self.table_name = 'venues'
|
||||
|
||||
belongs_to :temp_conference
|
||||
has_many :temp_rooms
|
||||
end
|
||||
|
||||
class TempRoom < ActiveRecord::Base
|
||||
self.table_name = 'rooms'
|
||||
|
||||
belongs_to :temp_venue
|
||||
end
|
||||
|
||||
def up
|
||||
add_column :rooms, :venue_id, :integer, null: false
|
||||
|
||||
TempRoom.all.each do |room|
|
||||
venue = TempVenue.find_by(conference_id: room.conference_id)
|
||||
if venue
|
||||
room.venue_id = venue.id
|
||||
else
|
||||
test_venue = Venue.find_or_create_by!(conference_id: room.conference_id, name: 'test venue', street: 'test street', city: 'test city', country: 'test')
|
||||
room.venue_id = test_venue.id
|
||||
end
|
||||
room.save!
|
||||
end
|
||||
|
||||
remove_column :rooms, :conference_id
|
||||
end
|
||||
|
||||
def down
|
||||
add_column :rooms, :conference_id, :integer, null: false
|
||||
|
||||
TempRoom.all.each do |room|
|
||||
venue = TempVenue.find(room.venue_id)
|
||||
conference = TempConference.find(venue.conference_id)
|
||||
|
||||
if conference
|
||||
room.conference_id = conference.id
|
||||
end
|
||||
|
||||
room.save!
|
||||
end
|
||||
|
||||
remove_column :rooms, :venue_id
|
||||
end
|
||||
end
|
||||
18
db/schema.rb
18
db/schema.rb
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20151021113015) do
|
||||
ActiveRecord::Schema.define(version: 20151031092713) do
|
||||
|
||||
create_table "ahoy_events", force: true do |t|
|
||||
t.uuid "visit_id"
|
||||
|
|
@ -274,10 +274,12 @@ ActiveRecord::Schema.define(version: 20151021113015) do
|
|||
end
|
||||
|
||||
create_table "programs", force: true do |t|
|
||||
t.integer "conference_id"
|
||||
t.integer "rating", default: 0
|
||||
t.boolean "schedule_public", default: false
|
||||
t.boolean "schedule_fluid", default: false
|
||||
t.integer "conference_id"
|
||||
t.integer "rating", default: 0
|
||||
t.boolean "schedule_public", default: false
|
||||
t.boolean "schedule_fluid", default: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
create_table "qanswers", force: true do |t|
|
||||
|
|
@ -360,10 +362,10 @@ ActiveRecord::Schema.define(version: 20151021113015) do
|
|||
add_index "roles_users", ["user_id", "role_id"], name: "index_roles_users_on_user_id_and_role_id", using: :btree
|
||||
|
||||
create_table "rooms", force: true do |t|
|
||||
t.string "guid", null: false
|
||||
t.string "name", null: false
|
||||
t.string "guid", null: false
|
||||
t.string "name", null: false
|
||||
t.integer "size"
|
||||
t.integer "program_id"
|
||||
t.integer "venue_id", null: false
|
||||
end
|
||||
|
||||
create_table "social_events", force: true do |t|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue