User/Person models merge
This commit is contained in:
parent
66b84e3660
commit
23bf55b66c
80 changed files with 1064 additions and 1221 deletions
13
db/migrate/20140609172219_add_person_attributes_to_user.rb
Normal file
13
db/migrate/20140609172219_add_person_attributes_to_user.rb
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
class AddPersonAttributesToUser < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :users, :name, :string
|
||||
add_column :users, :email_public, :boolean
|
||||
add_column :users, :biography, :string
|
||||
add_column :users, :nickname, :string
|
||||
add_column :users, :affiliation, :string
|
||||
add_column :users, :avatar_file_name, :string
|
||||
add_column :users, :avatar_content_type, :string
|
||||
add_column :users, :avatar_file_size, :integer
|
||||
add_column :users, :avatar_updated_at, :datetime
|
||||
end
|
||||
end
|
||||
35
db/migrate/20140610163947_create_event_users.rb
Normal file
35
db/migrate/20140610163947_create_event_users.rb
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
class CreateEventUsers < ActiveRecord::Migration
|
||||
class TempPerson < ActiveRecord::Base
|
||||
self.table_name = 'people'
|
||||
end
|
||||
|
||||
class TempEventPerson < ActiveRecord::Base
|
||||
self.table_name = 'event_people'
|
||||
end
|
||||
|
||||
class TempEventUser < ActiveRecord::Base
|
||||
self.table_name = 'event_users'
|
||||
end
|
||||
|
||||
def change
|
||||
create_table :event_users do |t|
|
||||
t.references :user
|
||||
t.references :event
|
||||
t.string :event_role, null: false, default: 'participant'
|
||||
t.string :comment
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
TempEventPerson.all.each do |ep|
|
||||
record = TempEventUser.new
|
||||
record.event_id = ep.event_id
|
||||
person = TempPerson.where(id: ep.person_id).first
|
||||
record.user_id = person.user_id
|
||||
record.event_role = ep.event_role
|
||||
record.comment = ep.comment
|
||||
record.save!
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
28
db/migrate/20140610165551_migrate_data_person_to_user.rb
Normal file
28
db/migrate/20140610165551_migrate_data_person_to_user.rb
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
class MigrateDataPersonToUser < ActiveRecord::Migration
|
||||
class TempPerson < ActiveRecord::Base
|
||||
self.table_name = 'people'
|
||||
end
|
||||
|
||||
class TempUser < ActiveRecord::Base
|
||||
self.table_name = 'users'
|
||||
end
|
||||
|
||||
def change
|
||||
TempPerson.all.each do |p|
|
||||
user = TempUser.find(p.user_id)
|
||||
if p.public_name.empty?
|
||||
user.name = p.email
|
||||
else
|
||||
user.name = p.public_name
|
||||
end
|
||||
user.biography = p.biography
|
||||
user.nickname = p.irc_nickname
|
||||
user.affiliation = p.company
|
||||
user.avatar_file_name = p.avatar_file_name
|
||||
user.avatar_content_type = p.avatar_content_type
|
||||
user.avatar_file_size = p.avatar_file_size
|
||||
user.avatar_updated_at = p.avatar_updated_at
|
||||
user.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
class ChangePersonIdToUserIdInRegistrations < ActiveRecord::Migration
|
||||
class TempPerson < ActiveRecord::Base
|
||||
self.table_name = 'people'
|
||||
end
|
||||
|
||||
class TempRegistration < ActiveRecord::Base
|
||||
self.table_name = 'registrations'
|
||||
end
|
||||
|
||||
def change
|
||||
add_column :registrations, :user_id, :integer
|
||||
|
||||
TempPerson.all.each do |t|
|
||||
registrations = TempRegistration.where(person_id: t.id)
|
||||
|
||||
unless registrations.empty?
|
||||
registrations.each do |r|
|
||||
r.user_id = t.user_id
|
||||
r.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
remove_column :registrations, :person_id
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
class ChangePersonIdToUserIdInVotes < ActiveRecord::Migration
|
||||
class TempPerson < ActiveRecord::Base
|
||||
self.table_name = 'people'
|
||||
end
|
||||
|
||||
class TempVote < ActiveRecord::Base
|
||||
self.table_name = 'votes'
|
||||
end
|
||||
|
||||
def change
|
||||
add_column :votes, :user_id, :integer
|
||||
|
||||
TempPerson.all.each do |t|
|
||||
votes = TempVote.where(person_id: t.id)
|
||||
|
||||
unless votes.empty?
|
||||
votes.each do |v|
|
||||
v.user_id = t.user_id
|
||||
v.save!
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
remove_column :votes, :person_id
|
||||
end
|
||||
end
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
class DropPersonAndEventPersonTables < ActiveRecord::Migration
|
||||
def change
|
||||
drop_table :people
|
||||
drop_table :event_people
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue