mirror of
https://github.com/fspc/BikeShed-1.git
synced 2026-09-16 08:31:36 -04:00
Added migration file
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
class ChangeBikeShopId < ActiveRecord::Migration
|
||||
# We don't use change_column because we have arbitrary strings we
|
||||
# need to strip the characters from to make the integer values
|
||||
def up
|
||||
bikes = Bike.all
|
||||
remove_column :bikes, :shop_id
|
||||
add_column :bikes, :shop_id, :integer, :unique => true
|
||||
|
||||
# deconflict shop ids
|
||||
bikes.each do |bike|
|
||||
new_id = bike.shop_id.gsub(/[^\d]/, '').to_i rescue 1
|
||||
while bikes.map(&:shop_id).include? new_id
|
||||
new_id += 1
|
||||
end
|
||||
bike.shop_id = new_id
|
||||
end
|
||||
bikes.each(&:save)
|
||||
end
|
||||
|
||||
def down
|
||||
change_column :bikes, :shop_id, :string
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user