IronRuby ActiveRecordおよびSQLite
-
07-07-2019 - |
質問
IronRubyチームが MSSQLを使用してIronRubyでActiveRecordを使用するを文書化したことがわかります-彼らは示していますアダプターにいくつかの調整が必要であったこと。
2009年8月11日のインタビューで、ジミーはIronRubyの大きな欠点を示しています。
主な制限は、IronRubyがサポートしていないことです CベースのRubyライブラリの一覧
これは、sqlite.dllに依存するSQLite-Rubyライブラリはおそらく問題外であることを示しています。ただし、同じインタビューで、彼は次のように述べています。
データベースには、SQLServer Express(無料)を使用できます。 または、最近のcsharp-sqliteポートのような.NETベースのデータベース。
これは前途有望に思えますが、開始方法に少々圧倒されています! RubyのActiveRecordをcsharp-sqliteに接続するにはどうすればよいですか。詳細についてはどこで参照できますか。
さらに IronRubyおよびSQLiteについての記事を見つけました、しかし翻訳の助けが必要な場合がありますか?
現在の解決策は、do_sqlite3を移植してすべての.NET APIを使用することです。いくつかのポートがあります SQLiteから.NETへの移行ですが、まだ広く使用されているものはありません。 1.0では、ironruby-dbi gemがあります Ruby DBI APIを通じて.NETベースのデータベースを使用するため。 SQLExpressを使用して SQLServerは適切なsqlserverアダプターで動作します。があるかどうかはわかりません DataMapper用のdo_sqlserverアダプターはまだありますが、それを行うためにコミュニティに任せます。
これは、私の技術スタックが次のようなものになる可能性があることを意味します:ActiveRecordはSQLiteRubyを使用し、SQLiteRubyはironruby-dbiを使用するよう調整されています(これはRuby DBI APIなので、少し変更する必要がありますか?) c#sqliteなどの.NETベースのデータベースを使用します。もちろん、ActiveRecordとSQLiteRubyの間を移動するにはアダプターが必要になります。
提案、アドバイス、ヒント?
解決
activerecordをそのまま使用することはできません。
SQLiteのADO.NETプロバイダーをラップするか、ironruby-dbiプロジェクトを支援して、sqliteを正しく処理するdbiアダプターを提供することができます。それ以降は、接続をdbi接続に置き換える必要があるため、レールに追加するのは簡単です。
これは現在進行中の作業であり、現時点ではほとんどの努力はSQLサーバーに関するものですが、私もRailsを使用してIronRubyでsqliteを適切に動作させたいと考えています。
別のアプローチは、sqliteのアクティブレコードアダプターをADO.NETプロバイダーと連携するように変更することです(おそらく最小限の労力で済みますが、Railsコミュニティ以外では役に立たないでしょう)。私はそれをすべて機能させるために何が起こる必要があるかについてかなり良い考えを持っていますが、残念ながらこれらのすべてを行う時間がないだけです。
他のヒント
SQLiteアダプターを使用してみましたか?すぐに使えるかもしれません。
個人的に試したことはありません。