Hi All

I ran hobo_migration on a table then edit the migration file to use
the Rails :id=> false method of defining a primary key field.  This
works fine and the everything works ok in the code. (I am using
uuidtools to generate a string id field)

Then I added a belongs_to to the model and ran a hobo_migration, it
wants to add the already existing key field and of course the
db:migrate step fails because the field already exists.

What is the way around this?

First migrate after editing.

class HoboMigration9 < ActiveRecord::Migration
  def self.up
    create_table :payments, :id => false do |t|
      t.string   :id, :limit => 36
      t.datetime :created_at
      t.datetime :updated_at
      t.integer  :subscriber_id
    end
  end

  def self.down
    drop_table :payments
  end
end




Messages output in second hobo_migration:
 ./script/generate hobo_migration

---------- Up Migration ----------
add_column :payments, :id, :string, :limit => 36
add_column :payments, :product_id, :integer
----------------------------------

---------- Down Migration --------
remove_column :payments, :id
remove_column :payments, :product_id
----------------------------------
What now: [g]enerate migration, generate and [m]igrate now or [c]
ancel? m

Migration filename:
(you can type spaces instead of '_' -- every little helps)
Filename [hobo_migration_10]:
      exists  db/migrate
      create  db/migrate/20090430161636_hobo_migration_10.rb
(in /home/geoffd/workspace/ducklines)
==  HoboMigration10: migrating
================================================
-- add_column(:payments, :id, :string, {:limit=>36})
rake aborted!
An error has occurred, all later migrations canceled:

SQLite3::SQLException: duplicate column name: id: ALTER TABLE
"payments" ADD "id" varchar(36)



Cheers
Geoff


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to