我看到 IronRuby 团队已经记录了在 IronRuby 中使用 ActiveRecord 和 MSSQL - 他们表明需要对适配器进行一些调整。
在8/11/2009 的采访中,Jimmy 指出 IronRuby 的一个主要缺点:
主要限制是 IronRuby 不支持任何基于 C 的 Ruby 库
这表明依赖于 sqlite.dll 的 SQLite-Ruby 库可能是不可能的。然而,在同一次采访中,他说:
对于数据库,您可以使用 SQLServer Express(免费)或任何基于 .NET 的数据库,例如最近的 csharp-sqlite 端口。
这听起来很有希望,但我对如何开始有点不知所措!如何将 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??)然后 ironruby-dbi 有智能使用基于 .NET 的数据库,例如 c#sqlite。当然,我需要一个适配器在 ActiveRecord 和 SQLiteRuby 之间进行传输……希望那里不需要更改?
建议、建议、提示?