我正在构建一个模块化的 php 应用程序,使用 MySQL 作为我的数据库。
我更愿意使用 redbean作为我的 ORM 库。
第 2 版允许我介绍我自己的命名方式,而第 3 版删除了此功能并使用 default naming convention对于所有表。
我现在正在尝试确定一种命名表的方法,然后决定我是使用版本 3 还是版本 2。
我正在考虑以下架构:
核心组件
- 帐号
- 电子邮件地址
- 等等
模块
- 电子商务产品
- 电子商务订单
- account_ecommerce_order(与核心表的链接表)
- ecommerce_order_ecommerce_product(模块表之间的链接表)
我应该在我的“核心”表前加上“core_”吗?
我喜欢为我的模块添加前缀,因为可以很容易地确定一个表是属于模块还是属于核心应用程序。有什么理由反对吗?
链接表让我有些困扰,因为它们可能太长了。有什么方法可以使它变得更好吗?
最佳答案
我决定使用上面的表名并迁移到 RedBean 3。
想了想,觉得核心组件的前缀用处不大。与 $account = R::dispense('account')
相比,输入 $account = R::dispense('core_account')
的时间也更长。
core_
前缀不会添加任何语法值或增强可读性。
为我的模块添加前缀 ecommerce_product
等,实际上非常有用并且增强了可读性。当引用 ecommerce_product
时,可以立即知道它是电子商务模块的一部分。
关于mysql - 模块化应用程序的数据库表命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9287464/