让ROR的Migration自动加外键约束

Activerecord 挺方便的,但是就是不能自动加外键约束。突然记起来在《Agile Web Development with Rails》书中提到有一个plug-in可以解决这个问题。果然得到以下成果:

出处:
http://www.redhillonrails.org/
这是个很好的ROR插件网站,其中就有解决上面提到的问题的插件。

安装插件:
在项目目录下运行:
ruby script/plugin install http://www.redhillonrails.org/svn/trunk/vendor/plugins/redhillonrails_core
ruby script/plugin install http://www.redhillonrails.org/svn/trunk/vendor/plugins/foreign_key_migrations

示例:
ruby 代码
  1. create_table :orders do |t|  
  2.   t.column :ordered_by_id:integer:null => false:references => :customers  
  3.   ...  
  4. end  

在运行ruby db:migrate后,检查schema.rb文件,就会发现add_foreign_key之类的语句,再检查数据库,果然有外键了。

说明:
1、关于数据库的支持,官方文档中提到:Using SQL-92 syntax and as such should be compatible with most databases that support foreign-key constraints.
2、用NETBEANS工具中用窗口创建plug-in不行,估计是NETBEANS 6 B1的一个bug吧。一定要用命令行安装插件,我就是在这个上面上当了,搞到现在才可以睡觉。
3、详细的使用说明见上面提到的官方网站。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值