Rails使用视图而不是表

时间:2017-01-13 11:22:08

标签: ruby-on-rails

我需要创建一个Rails应用程序来显示/利用我们当前的CRM系统数据。问题是 - 我可以使用Rails并使用当前数据库作为后端,但表名和列名与Rails使用完全相反。

表名:

+-------------+----------------+--------------+
| Resource    | Expected table | Actual table |
+-------------+----------------+--------------+
| Invoice     | invoices       | Invoice      |
| InvoiceItem | invoice_items  | InvItem      |
+-------------+----------------+--------------+

列名:

+-------------+-----------------+---------------+
| Property    | Expected column | Actual column |
+-------------+-----------------+---------------+
| ID          | id              | IniId         |
| Invoice ID  | invoice_id      | IniInvId      |
+-------------+-----------------+---------------+

我想我可以使用视图:

  • 规范化所有表名
  • 规范化所有列名称
  • 可以不使用列别名
  • 可以使用脚手架

但是有一个很大但是:

  • 在数据库级别上执行它,Rails可能无法正确构建SQL
  • 应用程序可能是只读的,除非我不使用视图并创建不同的数据库而是最终同步它们

当你将它与普通的别名进行比较时,这些缺点可能会更糟。

所以我问 - 是否Rails能够以某种方式透明地知道id列实际上是id,但是在数据库中是InvId,反之亦然?我在谈论完全抽象 - 简单的别名只是在使用连接等时不要删除它,因为你仍然需要使用实际的数据库名称。

0 个答案:

没有答案
相关问题