Вопрос

Ну, теперь, когда я наконец получил свой глупый материал 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]$

Так в чем проблема? Плагин иностранца не работает на SQL Server? Если это не так, я бы ожидал увидеть ошибку или что-то ...

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top