Ruby on Rails Foreigner插件不适用于SQL Server

时间:2010-04-07 21:34:31

标签: sql-server ruby-on-rails ruby-on-rails-plugins foreigner

好吧,既然我终于配置了我的愚蠢的ODBC东西了,我拿了一个我从Postgres数据库转储的schema.rb文件,并在为SQL Server配置的Rails项目中对它进行了db:schema:load

好吧,它设置了SQL Server数据库中的所有模式,除了一个小细节:没有创建外键。

rake命令没有显示任何错误,并且说它正在添加外键。但他们实际上并没有得到补充。这是命令的最后一点:

-- add_foreign_key("workhistoryform", "form", {:name=>"workhistoryform_form_rid_fkey", :column=>"form_rid", :primary_key=>"form_rid"})
   -> 0.0002s
-- initialize_schema_migrations_table()
   -> 0.0092s
-- assume_migrated_upto_version(0)
   -> 0.0942s
[earlz@earlzarch avp_msql_migrations]$

那么问题是什么? Foreigner插件在SQL Server中不起作用吗?如果不是我希望看到错误或其他什么......

2 个答案:

答案 0 :(得分:2)

好的,我修好了。嗯,无论如何都砍了它。 Foreigner实际上并没有内置对SQL Server的支持,但它足够接近SQL_2003它可以工作(减去删除外键并检测模式)

我发了一篇关于它on my blog的帖子,基本上归结为在适配器列表中添加一个并为SQL Server创建一个非常简单的新适配器(使用PostgreSQL适配器作为模板)。 (修改Foreigner gem)

答案 1 :(得分:1)

我正确修理了这个并向外国人的作者发送了一个拉请求。同时,您可以使用我的存储库中的版本:https://github.com/cjheath/foreigner