Zac Zheng wrote: > Hi, > > My tests(rspec) are failing on models that has a String primary key. > Rails wrongly creates the test table with the primary key in Integer > format. As a result, the fixtures can not be imported, nor does > relationships match up. > > The database is imported and needs to match with an external database, > so there is no possibly of changing the primary key to integer. > > Does anyone know how to force Rails to recreate the test tables to > respect string primary keys?
This fix this turned out to be easy. Schema.rb is run to create the test tables. I edited my copy to the following: create_table "countries", :force => true, :id => false do |t| t.column "locode" # other columns end # Manually assign 'locode' as primary key execute "ALTER TABLE `countries` ADD PRIMARY KEY (`locode`);" Hey Presto! My specs that use countries are now running. Thanks to http://www.ruby-forum.com/topic/113935#new Zac -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---