Rails3 和旧数据库

发布于 2024-10-12 03:07:39 字数 127 浏览 1 评论 0原文

我想知道当一个巨大/丑陋的遗留数据库已经存在(Oracle,SQLServer)时,使用rails(3)是否是一个好主意。

我只有 ActiveRecord 的经验,还有其他 ORM 更适合这种工作吗?

干杯

I'm wondering if working with rails (3) is a good idea when a huge/ugly legacy database is already there (Oracle, SQLServer).

I only have experience with ActiveRecord, is there another ORM more suitable for that kind of job?

Cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

把时间冻结 2024-10-19 03:07:39

ActiveRecord 仍然可以完成这项工作 - 例如,有一些指令可以在您的模型中应用,这些指令可以创建非常规表名称、主键名称(多列 PK,如果您有的话,过去需要一些额外的工作,不确定这在 AR3 中是多么真实)。

对于 OracleSQL Server 您将需要获取相关的数据库适配器;我认为两者都没有与 AR 捆绑在一起。

许多遗留的 DB Rails 工作只需要只读访问 - 如果是这种情况 - 并且您可以访问这样做 - 那么您可能会发现定义更“AR 友好”的视图并通过模型引用这些视图可能会让生活更轻松。如果需要更新,那么要么需要一个可用的主键,要么您必须考虑构建和执行自定义 SQL,AR 完全支持抽象无法应对的情况。

ActiveRecord can still do the job - for example there are directives that can be applied within your model that make non-conventional table names, primary key names (multi-column PKs, if you have them, used to require some additional work, not sure how true that is in AR3).

For both Oracle and SQL Server you're going to need to get the relevant DB adapters; I don't think either is bundled with AR.

A lot of legacy DB Rails work only needs read-only access - if that's the case - and you can get access to do so - then you may find that defining views that are more "AR-friendly" and referencing those through your models may make life easier. If update is going to be necessary then either a useable primary key will be needed or you'll have to consider dropping down to building and executing custom SQL, something that's fully supported in AR for occasions when the abstractions can't cope.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文