Useful idea about using logging statements. It's definitely the
correct environment though...
Martin

On Jan 24, 4:17 pm, Denis Haskin <[email protected]> wrote:
> Maybe team1 is nil when it's being run in the migration?  I would check
> it in debugger or add some logging statements just before that.
>
> Any chance the migrations are being run against a different environment,
> and thus a different database?
>
> dwh
>
> Martin Hawkins wrote:
> > I am using a habtm relationship between two tables and the migration
> > fails when updating the join table. However, it works when doing it
> > step by step in the console!
>
> > Here is the code:
> > class User < ActiveRecord::Base
> >   acts_as_authentic
> >   belongs_to :role
> >   has_and_belongs_to_many :dim_teams, :association_foreign_key
> > => :team_id
> > end
>
> > class DimTeam < ActiveRecord::Base
>
> >   set_primary_key "team_id"
>
> >   has_and_belongs_to_many :users, :foreign_key => "team_id"
>
> > end
>
> > class AddUserData < ActiveRecord::Migration
> >   def self.up
>
> >     role = Role.find_by_role('User')
> >     team1 = DimTeam.find_by_team_name('Essex')
> >     user = User.new
> >     user.login = "snapes"
> >     user.email = "[email protected]"
> >     user.password = "password"
> >     user.password_confirmation = "password"
> >     user.role = role
> >     user.save
> >     user = User.find_by_login("snapes")
> >     user.dim_teams << team1
>
> >   end
>
> >   def self.down
> >   end
> > end
>
> > When I run the code step by step in the console, it works. The final
> > user.dim_teams << team1 line produces the following output in
> > development.log:
> > SQL (2.8ms)   INSERT INTO [dim_teams_users] ([team_id], [user_id])
> > VALUES (13, 2)
>
> > When I run it as a rake task, I get
> > SQL (0.0ms)[0m  [0mDBI::DatabaseError: (102) [unixODBC][FreeTDS][SQL
> > Server]Incorrect syntax near ')'.: INSERT INTO [dim_teams_users] ()
> > VALUES ()[0m
>
> > Can anybody explain why the difference to me please?
> > thanks
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to