I am thinking that I have found a bug in Rails migrations. My app is
using UUIDtools to generate guids for primary keys. To do this I
pass :id=>false and then create my own id column as shown below. Next
I leverage "execute" to create an index. It seems to work fine. The
table in MySql is perfect. However the ID column and primary key on
the ID column are not in the schema.rb file
I am pretty sure this issue is the same as Ticket #11198 but I can''t
figure out how to add this to that defect. How do I figure out the
status of defect 11198? It says [PATCH] What does that mean? Is this
supposed to be fixed? If so, how do I reopen the defect?
Thanks in advance.
TW Scannell
class CreateVenues < ActiveRecord::Migration
def self.up
create_table(:venues, :id => false) do |t|
t.string :id, :limit => 36, :null => false
t.string :name, :null => false
t.string :address, :null => false
t.string :city, :null => false
t.string :state, :null => false
t.string :zip, :null => false
t.string :phone1
t.string :phone2
t.string :fax
t.string :geocode, :null => false
t.timestamps
end
execute "ALTER TABLE `venues` ADD PRIMARY KEY (`id`)"
end
def self.down
drop_table :venues
end
end
schema.rb
create_table "venues", :force => true do |t|
t.string "name", :null => false
t.string "address", :null => false
t.string "city", :null => false
t.string "state", :null => false
t.string "zip", :null => false
t.string "phone1"
t.string "phone2"
t.string "fax"
t.string "geocode", :null => false
t.datetime "created_at"
t.datetime "updated_at"
end
# mysql Which is correct
CREATE TABLE `venues` (
`id` varchar(36) NOT NULL,
`name` varchar(255) NOT NULL,
`address` varchar(255) NOT NULL,
`city` varchar(255) NOT NULL,
`state` varchar(255) NOT NULL,
`zip` varchar(255) NOT NULL,
`phone1` varchar(255) default NULL,
`phone2` varchar(255) default NULL,
`fax` varchar(255) default NULL,
`geocode` varchar(255) NOT NULL,
`created_at` datetime default NULL,
`updated_at` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---