开发者

Ruby on Rails Foreigner plugin not working for SQL Server

Well, now that I've finally got my stupid ODBC stuff configured, I took a schema.rb file that I dumped from a Postgres database and did a db:schema:load on it in a Rails project configured for SQL Server.

Well, it sets up all the schema in the SQL Server database except for a minor deta开发者_运维百科il: No foreign keys are created.

The rake command doesn't show any errors and does say it is adding foreign keys. But they don't actually get added. This is the last bit from the command:

-- 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]$

So what is the problem? Does the Foreigner plugin not work in SQL Server? If it didn't I'd expect to see an error or something...


Ok, I fixed it. Well, hacked it anyway. Foreigner doesn't actually have built in support for SQL Server, but it is close enough to SQL_2003 that it works (minus removing Foreign Keys and detecting the Schema)

I made a post about it on my blog which basically boiled down to adding a to the list of adapters and creating a very simple new adapter for SQL Server(use the PostgreSQL adapter as a template). (modifying the Foreigner gem)


I fixed this properly and sent a pull request to foreigner's author. Meantime, you can use the version from my repository: https://github.com/cjheath/foreigner

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜