Плагин Ruby on Rails Foreigner не работает для SQL Server

Что ж, теперь, когда я, наконец, настроил свой дурацкий материал ODBC, я взял файл schema.rb, который я выгрузил из базы данных Postgres, и выполнил db:schema:load в нем в проекте Rails, настроенном для SQL Server.

Ну, он настраивает всю схему в базе данных 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? Если бы это было не так, я бы ожидал увидеть ошибку или что-то в этом роде...


person Earlz    schedule 07.04.2010    source источник


Ответы (2)


Хорошо, я исправил это. Ну все же взломал. На самом деле Foreigner не имеет встроенной поддержки SQL Server, но он достаточно близок к SQL_2003, чтобы работать (за исключением удаления внешних ключей и обнаружения схемы).

Я сделал об этом сообщение в своем блоге, которое сводилось к добавлению адаптеры и создание очень простого нового адаптера для SQL Server (используйте адаптер PostgreSQL в качестве шаблона). (изменение драгоценного камня Иностранца)

person Earlz    schedule 07.04.2010

Я правильно исправил это и отправил запрос на включение автору иностранца. А пока вы можете использовать версию из моего репозитория: https://github.com/cjheath/foreigner

person Clifford Heath    schedule 07.09.2012