[Rails] rake migrate the first time - uses more than schema_info?
Craig White
craigwhite at azapple.com
Wed Aug 9 04:31:18 GMT 2006
On Tue, 2006-08-08 at 22:44 +0200, Wes Gamble wrote:
> All,
>
> I have two migration files, file 1 and file 2.
>
> For reasons that I don't want to go into unless I must, I want to only
> run file 2 on my production database (file 1 contains a bunch of table
> creation stuff for already existing tables).
>
> I figured if I created a schema_info table and set the version in it to
> 1, then I could just run rake db:migrate RAILS_ENV=production and just
> file 2 would get run.
>
> However, it keeps trying to run file1 and fails because as I said, those
> things already exist. Basically, it is ignoring or not seeing the
> schema_info version. I am pretty sure that it should be able to read
> the version from that table.
>
> So, I am led to believe that the first time that you run rake
> db:migrate, it must be looking for something in addition to/instead of
> the version in the schema_info table to figure out that it wants to run
> starting with the first migration file.
>
> Here's the output of rake --trace db:migrate
>
> [dusan at exmit2 current]$ rake --trace db:migrate RAILS_ENV=production
> (in /home/dusan/eSimplyTest/releases/20060808203414)
> ** Invoke db:migrate (first_time)
> ** Invoke environment (first_time)
> ** Execute environment
> ** Execute db:migrate
>
> Do I have to fiddle with my migration files on my production box?
>
> Any info. on this?
----
how about something like...
rake db:schema:dump
put the result into schema.rb
set version value in schema_info table to '1'
and then do rake db:migrate RAILS_ENV=production --trace
Craig
More information about the Rails
mailing list