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