User/Person models merge

This commit is contained in:
Stella Rouzi 2014-06-23 19:07:50 +03:00
parent 66b84e3660
commit 23bf55b66c
80 changed files with 1064 additions and 1221 deletions

View 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

View 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

View 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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,6 @@
class DropPersonAndEventPersonTables < ActiveRecord::Migration
def change
drop_table :people
drop_table :event_people
end
end