Trouble with tests + sexy migrations [Rails 2.0.1]

Hi all. I've upgraded my Rails yesterday and trying to use the following
code:

$ script/generate scaffold Email user:references email:string

  I got, in my database:

Are you confusing your test database with your development database.
I suspect that you've only run the migrations against the latter.

You probably need to do something like

rake db:test:prepare

What's in your fixtures file? If you've got user: then that's your
problem, since you have no user column, only a user_id column

Fred

Already did it.

  I've already run rake db:create:all, rake db:test:prepare and I've tried rake
db:test:clone_structure.

  My test database was created fine with all tables, but I can't understand
what is going on with field names...

  Thanks,

Yes, that's probably right, unless he's using Rails 2.0 where you can
use symbolic relationship values:

users.yml

fred:
   name: Fred
...
_END_

emails:
  user: fred
  email: Hi Fred
_END_

But in that case, it would be inserting into the user_id field instead
of the user field.

> > > show fields from emails;
> >
> > +------------+--------------+------+-----+---------+----------------+
> >
> > > Field | Type | Null | Key | Default | Extra |
> >
> > +------------+--------------+------+-----+---------+----------------+
> >
> > > id | int(11) | NO | PRI | NULL | auto_increment |
> > > user_id | int(11) | YES | | NULL | |
> > > email | varchar(255) | NO | | NULL | |
> >
> > [...]
> >
> >
> > test_truth(EmailTest):
> > ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'user' in
> > 'field list': INSERT INTO `emails` (`user`,`email`) VALUES
> > (NULL,'MyString')
>
> What's in your fixtures file? If you've got user: then that's your
> problem, since you have no user column, only a user_id column

  Yeah! The problem was in fixtures files...
  I've changed from user: to user_id: and all is working fine.

  Thanks.

Yes, that's probably right, unless he's using Rails 2.0 where you can
use symbolic relationship values:

users.yml

fred:
   name: Fred
...
_END_

emails:
  user: fred
  email: Hi Fred
_END_

But in that case, it would be inserting into the user_id field instead
of the user field.

  I'm using Rails 2.0, but all fields was empty.

  I'll try go back from user_id: to user: and fill some info. I'll post
results...

  Thank you all.

Is there a belongs_to association in your Email model? Lacking that
would cause this error.

Davi wrote: