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

2 ответа

Решение

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

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

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

Другие вопросы по тегам