Hello, I'm using InstantRails 1.6 on Windows XP with Mysql 5.0.27, Rails 1.2.2, and Ruby 1.8.5. The following foreign key is not working. class FkLibriid < ActiveRecord::Migration def self.up execute "alter table my_items add constraint fk_myid foreign key (myid) references products(myid)" end def self.down end end I declared myid in both tables the same: t.column :myid, :integer, :null => false And myid is not primary key in any table. I don't like it to be one. Additionally, I've set the following in the model for the referenced table: validates_uniqueness_of :myid C:\Myshop\shop>rake db:migrate --trace (in C:/Myshop/shop) ** Invoke db:migrate (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute db:migrate == FkLibriid: migrating ======================================================= -- execute("alter table my_items\n add constraint fk_myid \n foreign key (myid) references products(myid)") rake aborted! Mysql::Error: #HY000Can't create table '.\shop_development \#sql-464_23.frm' (err no: 150): alter table my_items add constraint fk_myid foreign key (myid) references products(myid) It would be nice if someone could help me.
on 2007-03-31 02:14