20150225170704_create_project_attributes.rb
1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class CreateProjectAttributes < ActiveRecord::Migration
def up
create_table :project_attributes do |t|
t.integer :project_id
t.string :image_url
t.integer :user_id
t.boolean :hidden, default: false
t.timestamps null: false
end
ProjectOwnership.all.each do |project_ownership|
project_image = ProjectImage.find_by_project_id(project_ownership.project_id)
image_url = project_image.nil? ? "": project_image.url
begin
# We want to hides projects prior this date since they probably have a invalid configuration
if Project.find(project_ownership.project_id).updated_at < DateTime.parse("Mon, 23 Feb 2015")
hidden = true
else
hidden = false
end
ProjectAttributes.create(user_id: project_ownership.user_id, project_id: project_ownership.project_id, image_url: image_url, hidden: hidden)
rescue KalibroClient::Errors::RecordNotFound
puts "Could not find project with id #{project_ownership.project_id} owned by user with #{project_ownership.user_id} and image url #{image_url}"
end
end
drop_table :project_ownerships
drop_table :project_images
end
def down
create_table :project_ownerships do |t|
t.integer :user_id
t.integer :project_id
t.timestamps
end
create_table :project_images do |t|
t.belongs_to :project
t.string :url
t.timestamps
end
ProjectAttributes.all.each do |project_attribute|
ProjectOwnership.create(user_id: project_attribute.user_id, project_id: project_attribute.project_id)
ProjectImage.create(url: project_attribute.image_url, project_id: project_attribute.project_id)
end
drop_table :project_attributes
end
end