I''ve added the following line to a migration file after all the
create_table statements. For the life of me, I can''t figure out what is
wrong with it.
execute "ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN
KEY(user_id) REFERENCES users(user_id)"
Here''s the error I''m getting.
execute("ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN
KEY(user_id) REFERENCES users(user_id)")
rake aborted!
Mysql::Error: Can''t create table
''./HoshinWeb_dev/#sql-118c_c.frm'' (errno: 150): ALTER TABLE
users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN KEY(user_id) REFERENCES
users(user_id)
The code looks right, but it''s late and I''m sleep-deprived.
What am I doing wrong? Why in the world is it trying to create a table here?
---------------------------------
How low will we go? Check out Yahoo! Messengers low PC-to-Phone call rates.
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk
-~----------~----~----~----~------~----~------~--~---
Will, This is not a migration issue but rather what appears to be something specific with MySQL - Rails isn''t trying to create any table - it''s on the MySQL side. Google "errno: 150" and have a look at the possible problems. There seems to be a pile of things that can pop this error. The second hit on google appears to use show innodb status to get more information out of the system (you would need to attempt the ALTER TABLE manually and you would obviously need to be using innodb). Sorry can''t be more specific but this appears to be a catch all error that don''t reveal much about why it occurs....other then Rails isn''t the culprit :) John W Higgins wishdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org On 9/13/06, Will Gant <williamwgant-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:> > I''ve added the following line to a migration file after all the > create_table statements. For the life of me, I can''t figure out what is > wrong with it. > > execute "ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN > KEY(user_id) REFERENCES users(user_id)" > > Here''s the error I''m getting. > > execute("ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN > KEY(user_id) REFERENCES users(user_id)") > rake aborted! > Mysql::Error: Can''t create table ''./HoshinWeb_dev/#sql-118c_c.frm'' (errno: > 150): ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN > KEY(user_id) REFERENCES users(user_id) > > > The code looks right, but it''s late and I''m sleep-deprived. What am I > doing wrong? Why in the world is it trying to create a table here? > > ------------------------------ > How low will we go? Check out Yahoo! Messenger''s low PC-to-Phone call > rates. > > <http://us.rd.yahoo.com/mail_us/taglines/postman8/*http://us.rd.yahoo.com/evt=39663/*http://voice.yahoo.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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Doh! It was the quotes. I happened to have an old todo list sample on my system,
so I added a categories table and a field in the todo items table that pointed
at it. MySQL Admin generated the following code:
ALTER TABLE `todo`.`todos` ADD CONSTRAINT `FK_todos_categories` FOREIGN KEY
`FK_todos_categories` (`categoryid`)
REFERENCES `todocategories` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
It started making sense as soon as I''d had my morning coffee.
John Higgins <wishdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Will,
This is not a migration issue but rather what appears to be something specific
with MySQL - Rails isn''t trying to create any table - it''s on
the MySQL side. Google "errno: 150" and have a look at the possible
problems. There seems to be a pile of things that can pop this error. The second
hit on google appears to use show innodb status to get more information out of
the system (you would need to attempt the ALTER TABLE manually and you would
obviously need to be using innodb).
Sorry can''t be more specific but this appears to be a catch all error
that don''t reveal much about why it occurs....other then Rails
isn''t the culprit :)
John W Higgins
wishdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
On 9/13/06, Will Gant
<williamwgant-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:
I''ve added the following line to a migration file after all the
create_table statements. For the life of me, I can''t figure out what is
wrong with it.
execute "ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN
KEY(user_id) REFERENCES users(user_id)"
Here''s the error I''m getting.
execute("ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN
KEY(user_id) REFERENCES users(user_id)")
rake aborted!
Mysql::Error: Can''t create table
''./HoshinWeb_dev/#sql-118c_c.frm'' (errno: 150): ALTER TABLE
users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN KEY(user_id) REFERENCES
users(user_id)
The code looks right, but it''s late and I''m sleep-deprived.
What am I doing wrong? Why in the world is it trying to create a table here?
---------------------------------
How low will we go? Check out Yahoo! Messenger''s low PC-to-Phone call
rates.
---------------------------------
Get your email and more, right on the new Yahoo.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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk
-~----------~----~----~----~------~----~------~--~---
Nevermind. It wasn''t just the quotes. I followed the recommendations on
this page:
http://seb.box.re/articles/2006/07/29/foreign-key-and-rails-migration#comments
Then, I added the migration_helpers.rb file under my lib directory in my site. I
changed the foreign key calls to look like:
foreign_key(:users_roles, :userid, :users)
However, I get the following complaint when I run rake:
rake aborted!
undefined method `foreign_key'' for
#<ActiveRecord::ConnectionAdapters::MysqlAdapter:0xb75a5d0c>
The declaration in my migration file looks like this:
require "migration_helpers"
class MyWeb < ActiveRecord::Migration
extend MigrationHelpers
def self.up
Any ideas?
One more thing. When this thing runs and breaks in the middle, it''s a
real pain having to go back and clear out the table. Is there some sort of trick
I can use to wrap this in a transaction or something?
Will Gant <williamwgant-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:
Doh! It was the quotes. I happened to have an old todo list sample on my system,
so I added a categories table and a field in the todo items table that pointed
at it. MySQL Admin generated the following code:
ALTER TABLE `todo`.`todos` ADD CONSTRAINT `FK_todos_categories` FOREIGN KEY
`FK_todos_categories` (`categoryid`)
REFERENCES `todocategories` (`id`)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
It started making sense as soon as I''d had my morning coffee.
John Higgins <wishdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
Will,
This is not a migration issue but rather what appears to be something specific
with MySQL - Rails isn''t trying to create any table - it''s on
the MySQL side. Google "errno: 150" and have a look at the possible
problems. There seems to be a pile of things that can pop this error. The
second hit on google appears to use show innodb status to get more information
out of the system (you would need to attempt the ALTER TABLE manually and you
would obviously need to be using innodb).
Sorry can''t be more specific but this appears to be a catch all error
that don''t reveal much about why it occurs....other then Rails
isn''t the culprit :)
John W Higgins
wishdev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
On 9/13/06, Will Gant
<williamwgant-/E1597aS9LQAvxtiuMwx3w@public.gmane.org> wrote:
I''ve added the following line to a migration file after all the
create_table statements. For the life of me, I can''t figure out what is
wrong with it.
execute "ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN
KEY(user_id) REFERENCES users(user_id)"
Here''s the error I''m getting.
execute("ALTER TABLE users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN
KEY(user_id) REFERENCES users(user_id)")
rake aborted!
Mysql::Error: Can''t create table
''./HoshinWeb_dev/#sql-118c_c.frm'' (errno: 150): ALTER TABLE
users_roles ADD CONSTRAINT FK_UserRoles_Users FOREIGN KEY(user_id) REFERENCES
users(user_id)
The code looks right, but it''s late and I''m sleep-deprived.
What am I doing wrong? Why in the world is it trying to create a table here?
---------------------------------
How low will we go? Check out Yahoo! Messenger''s low PC-to-Phone call
rates.
---------------------------------
Get your email and more, right on the new Yahoo.com
(What is best in life?) To crush your enemies, see them driven before you, and
to hear the lamentations of the women. - Conan the Barbarian
---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail.
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk
-~----------~----~----~----~------~----~------~--~---