IronRuby ActiveRecord и SQLite
-
07-07-2019 - |
Вопрос
Я вижу, что команда IronRuby задокументировала использование ActiveRecord в IronRuby с MSSQL - они указывают что для адаптера потребовались некоторые изменения.
В интервью 8/11/2009 , Джимми указывает на главный недостаток IronRuby:
Основным ограничением является то, что IronRuby не поддерживает какие-либо библиотек Ruby на основе C
Это указывает на то, что библиотека SQLite-Ruby, которая зависит от sqlite.dll, вероятно, не обсуждается. Однако в том же интервью он говорит:
Для базы данных вы можете использовать SQLServer Express (это бесплатно), или любую базу данных на основе .NET, например, недавний порт csharp-sqlite.
Звучит многообещающе, но я немного ошеломлен тем, как начать! Как мне подключить ActiveRecord в Ruby к csharp-sqlite или где я могу получить дополнительные рекомендации?
Я обнаружил еще несколько статей о IronRuby и SQLite , но мне может понадобиться помощь с переводом?
Текущее решение - портировать do_sqlite3 для использования всех .NET API. Есть пара портов SQLite для .NET, но ни один из них еще широко не используется. Для 1.0 у нас будет гем Ironruby-DBI для использования баз данных .NET через API Ruby DBI; поэтому с помощью SQLExpress и SQLServer будет работать с соответствующим адаптером sqlserver. Я не уверен, что есть Адаптера do_sqlserver для DataMapper пока нет, но мы оставим это для сообщества.
Означает ли это, что мой технологический стек может выглядеть примерно так: ActiveRecord использует SQLiteRuby, SQLiteRuby настроен на использование ironruby-dbi (должно быть небольшое изменение, так как это API-интерфейс Ruby DBI ??), тогда Ironruby-dbi обладает умом работать с базой данных .NET, такой как c # sqlite. Конечно, мне понадобится адаптер для перехода между ActiveRecord и SQLiteRuby ... надеюсь, никаких изменений там не требуется?
Предложения, советы, советы?
Решение
вы не сможете использовать activerecord как есть.
Вы можете обернуть провайдера ADO.NET для SQLite или, возможно, помочь с проектом ironruby-dbi и предоставить адаптер dbi, который правильно обрабатывает sqlite. С этого момента добавить его в рельсы легко, поскольку для этого потребуется заменить соединение на соединение dbi.
Хотя эта работа еще не завершена, и в настоящее время большинство усилий было сосредоточено на сервере sql, но я бы также хотел, чтобы sqlite работал правильно на IronRuby с рельсами. Р>
Другой подход - изменить адаптер активной записи для sqlite для работы с провайдером ADO.NET (что, вероятно, потребует минимальных усилий, но не поможет вне сообщества rails). У меня есть довольно хорошее представление о том, что должно произойти, чтобы все это заработало, но, к сожалению, у меня просто нет времени, чтобы все это делать.
Другие советы
Вы пытались использовать адаптер SQLite? Это может работать "из коробки".
Хотя я лично не пробовал.