From 9d624902e83d7052861e4f337f4e5925c0fb3f85 Mon Sep 17 00:00:00 2001 From: Miles Gould Date: Tue, 4 Jun 2013 13:25:23 +0100 Subject: [PATCH] Fix string/integer conversions in migrations. --- ...20130515054017_change_order_member_id_to_integer.rb | 10 ++++++++-- .../20130601011725_change_flickr_photo_id_to_string.rb | 7 ++++++- db/schema.rb | 8 ++++---- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/db/migrate/20130515054017_change_order_member_id_to_integer.rb b/db/migrate/20130515054017_change_order_member_id_to_integer.rb index 9ebb3b96a..2905204d7 100644 --- a/db/migrate/20130515054017_change_order_member_id_to_integer.rb +++ b/db/migrate/20130515054017_change_order_member_id_to_integer.rb @@ -1,5 +1,11 @@ class ChangeOrderMemberIdToInteger < ActiveRecord::Migration - def change - change_column :orders, :member_id, :integer + def up + remove_column :orders, :member_id + add_column :orders, :member_id, :integer + end + + def down + remove_column :orders, :member_id + add_column :orders, :member_id, :string end end diff --git a/db/migrate/20130601011725_change_flickr_photo_id_to_string.rb b/db/migrate/20130601011725_change_flickr_photo_id_to_string.rb index 2dd847ac4..84cf7a7b4 100644 --- a/db/migrate/20130601011725_change_flickr_photo_id_to_string.rb +++ b/db/migrate/20130601011725_change_flickr_photo_id_to_string.rb @@ -1,8 +1,13 @@ class ChangeFlickrPhotoIdToString < ActiveRecord::Migration def up - change_column :photos, :flickr_photo_id, :string + remove_column :photos, :flickr_photo_id + add_column :photos, :flickr_photo_id, :string end def down + # Postgres doesn't allow you to cast strings to integers + # Hence there's no way of rolling back this migration without losing + # information. + remove_column :photos, :flickr_photo_id change_column :photos, :flickr_photo_id, :integer end end diff --git a/db/schema.rb b/db/schema.rb index fae5ca762..485524431 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -147,10 +147,10 @@ ActiveRecord::Schema.define(:version => 20130601011725) do end create_table "orders", :force => true do |t| - t.integer "member_id", :limit => 255, :null => false - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.datetime "completed_at" + t.integer "member_id" t.string "paypal_express_token" t.string "paypal_express_payer_id" end @@ -162,7 +162,6 @@ ActiveRecord::Schema.define(:version => 20130601011725) do create_table "photos", :force => true do |t| t.integer "owner_id", :null => false - t.string "flickr_photo_id", :null => false t.string "thumbnail_url", :null => false t.string "fullsize_url", :null => false t.datetime "created_at", :null => false @@ -171,6 +170,7 @@ ActiveRecord::Schema.define(:version => 20130601011725) do t.string "license_name", :null => false t.string "license_url" t.string "link_url", :null => false + t.string "flickr_photo_id" end create_table "photos_plantings", :id => false, :force => true do |t|