I think I am pissing into the wind to make migrations work at this point. Looking at http://wiki.rubyonrails.org/rails/pages/UnderstandingMigrations it appears that the problem that I am having is that postgresql can''t do the drop_table part because of the foreign_key keys (constraints) which requires ''cascade'' as an option to drop some of the tables that have other tables which include a column from the table I am attempting to drop which would leave things in a mess. I thought I would ask anyway... Am I supposed to have each table migration in a separate file or should they all be in the same file? db/migration/0001_add_a_new_table def self_up create_table ''foo'', :force => true do |t| t.column ... end create_table ''foo2'', :force => true do |t| t.column ... end end def self_down drop_table :foo drop_table :foo2 end or multiple files? db/migration/0001_add_foo def self_up create_table ''foo'', :force => true do |t| t.column ... end end def self_down drop_table :foo end db/migration/0002_add_foo2 def self_up create_table ''foo2'', :force => true do |t| t.column ... end end def self_down drop_table :foo2 end Craig
> >Am I supposed to have each table migration in a separate file or should >they all be in the same file?There are no *rules* for this...but every logical change should occur in one migration. A migration can involve modifications to several tables, creating, dropping whatever... A migration should be considere atomic... Foreign key constraints giving you problems?? Change the order of your drops...or drop the constraints (in the database) Mikkel Bruun www.strongside.dk - Football Portal(DK) nflfeed.helenius.org - Football News(DK) ting.minline.dk - Buy Old Stuff!(DK) -- Posted with http://DevLists.com. Sign up and save your time!
On Wed, 2006-02-15 at 08:29 +0000, Mikkel Bruun wrote:> > > >Am I supposed to have each table migration in a separate file or should > >they all be in the same file? > > There are no *rules* for this...but every logical change should occur in > one migration. > > A migration can involve modifications to several tables, creating, > dropping whatever... > > A migration should be considere atomic... > > Foreign key constraints giving you problems?? Change the order of your > drops...or drop the constraints (in the database) >---- duh...of course - that may be difficult (the order) as there are a few foreign keys already and I''m somewhat loathe to drop the foreign keys as it''s entirely possible that this isn''t just for rails. I''ll have to work on that but at least I know now that keeping the various tables in one migration file does make sense - though there isn''t any significant information in ''rake migration'' --trace or --verbose options and it took me quite some time to figure out that this was a cascade thingy. Thanks Craig