On Nov 9, 6:38 pm, "Tau C." <[email protected]> wrote:
> I am very new to ROR.  (Ruby 1.8.7, rails 2.1.1, rack
> 0.8.7, mysql 5.1.41)
>
> I has my_app/lib/migration_helpers.rb file:
> module MigrationHelpers
>   def self.foreign_key(from_table, from_column, to_table)
>     constraint_name = "fk_#{from_table}_#{to_table}"
>

this should probably be just def foreign_key(...)

Fred

>     execute %{alter table #{from_table}
>        add constraint #{constraint_name}
>           foreign key (#{from_column})
>           references #{to_table}(id)
>
>     }....
> end
>
> In my_app/db/migrate/001_create_airports.rb:
>
> require "migration_helpers"
> class CreateAirports < ActiveRecord::Migration
>   extend MigrationHelpers
>
>   def self.up
>     create_table (:airports, :options => "ENGINE=InnoDB") do |t|
>       t.integer :country_id, :null => false  #foreign key
>       t.string :code, :null => false, :limit => 3
>       t.string :name, :null => false, :limit => 45
>
>       t.timestamps
>     end
>     foreign_key(:airports, :country_id, :countries)
>   end
>
>   def self.down
>     drop_table :airports
>   end
> end
>
> When I rake db:migration it got this error:
> -- create_table(:airports, {:options=>"ENGINE=InnoDB"})
>    -> 0.0156s
> -- foreign_key(:airports, :country_id, :countries)
> rake aborted!
> undefined method `foreign_key' for
> #<ActiveRecord::ConnectionAdapters::MysqlAdapter:0x5cf4d50>
>
> What did I miss?
>
> Thank you
>
> --
> Posted viahttp://www.ruby-forum.com/.

-- 
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