rails中用migrate建表的时候,建立外键出错。ft

昨天晚上 rp 严重走低,被 mysql 的一个问题搞到很晚,还使我把数据库重新建了一下。
问题是,我想把 book 和 comment_book 表关联起来,就是建外键,但是建不起来。报 150 错误。
早上起来继续搞,查看了 manul ,突然发现这样的一句话。
Corresponding columns in the foreign key and the referenced key must have simila internal datatypes inside InnoDB so that they can be compared without a type conversion. The size and the signedness of integer types has to be the same……
….similarly, if an ALTER TABLE fails and it refer to errno 150, that means a foeign key definition would be incorrectly formed for the altered table….
 

大意就是,相互关联的域的类型的类型需要相同,如果是integer,大小要相同,如是string ,长度要相同。。

而我,就是因为book_comment 中的book_idbook中的id不一样,--#

 

估计也我这样的初学者能犯这样的错误吧。

还有,rails中,好像对于外键不是强求的,他会按照name来比配。

比如,你只要在book_comments中有book_id,rails就会自己比配。

Model/book.rb

ruby 代码
  1. Has_many    :book_comments  
  2.   
  3. Model/book_comment.rb   
  4. Belongs_to  :book  
 

就可以通过book.bookComment.post来取书的评论的内容了。

It’s so easy….isnt it?

如果你对上面命名有点混乱,请参考相应的问题,理解一下,配置优于规范原则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值