Rake migrate the first time - uses more than schema_info?

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

[[email protected] 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?

Thanks,
Wes

I’ve verified that it is looking only at schema_info.

There must be something wrong with my production DB setup so that
schema_info can’t be seen.

When rake runs for a given environment, won’t it connect to the database
as the user specified in database.yml for the environment name specified
in RAILS_ENV?

Wes

My problem is that my production DB user is not connecting correctly and
is not able to read the schema_info table.

Wes

On Tue, 2006-08-08 at 23:17 +0200, Wes G. wrote:

My problem is that my production DB user is not connecting correctly and
is not able to read the schema_info table.


one of us can fix that and it isn’t me

Craig

It’s fixed. Thanks for responding.

On Tue, 2006-08-08 at 22:44 +0200, Wes G. wrote:

file 2 would get run.

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

On Tue, 2006-08-08 at 22:47 +0200, Wes G. wrote:

I’ve verified that it is looking only at schema_info.

There must be something wrong with my production DB setup so that
schema_info can’t be seen.

When rake runs for a given environment, won’t it connect to the database
as the user specified in database.yml for the environment name specified
in RAILS_ENV?


try connecting to the database as that user from the command line client

Craig

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs