0

好吧,现在我终于配置了愚蠢的 ODBC 东西,我从 Postgres 数据库中提取了一个 schema.rb 文件,并db:schema:load在为 SQL Server 配置的 Rails 项目中对其进行了处理。

好吧,它设置了 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 中不起作用吗?如果不是我希望看到错误或其他东西......

4

2 回答 2

2

好的,我修好了。好吧,无论如何都破解了它。Foreigner 实际上并没有内置对 SQL Server 的支持,但它与 SQL_2003 足够接近,可以正常工作(减去删除外键和检测架构)

我在我的博客上发表了一篇关于它的帖子,基本上归结为向适配器列表添加一个并为 SQL Server 创建一个非常简单的新适配器(使用 PostgreSQL 适配器作为模板)。(修改外国人宝石)

于 2010-04-07T22:39:41.287 回答
1

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

于 2012-09-07T07:02:55.410 回答