使用 Sequelize ORM 工具将导致较少问题的 Mysql 数据库列命名
Posted
技术标签:
【中文标题】使用 Sequelize ORM 工具将导致较少问题的 Mysql 数据库列命名【英文标题】:Mysql Database Column naming that will cause less problems with Sequelize ORM tool 【发布时间】:2020-01-10 20:45:33 【问题描述】:当测试团队将使用 ORM 工具和 cypress 来注入和删除数据时,在 mysql 数据库中命名列的最佳做法是什么? - 测试数据将在 JSON 中,而当前数据库在 MySQL。
例如,假设我有一家软件公司,它拥有管理系统(技术支持人员用户)、经销商的登录名,但我也有客户(用户)。
在我的表格中,我有以下列:
1-经销商
名字 |姓氏 |地址
2 名员工
名字 |姓氏 |地址
3-customeruser
名字 |姓氏 |地址
这是“理智的方式”吗?或者应该是:
1-经销商
dealer_first_name |经销商姓氏 |经销商地址
2 名员工
staff_user_first_name | staff_user_last_name |员工用户地址
3-customeruser
customer_user_first_name |客户姓氏 | customer_user_address
【问题讨论】:
我不喜欢在列名前加上表名。这样做似乎是为了解决问题。就个人而言,我认为有更好的方法来解决这些问题。例如,让我们遵循最佳实践模式并使用表名或别名来限定 所有 列引用,并且无论我们的列命名约定如何,“模糊列”错误都不会成为问题。跨度> 【参考方案1】:您的模型将在您的返回 JSON 中具有特定名称,因此前端不会与 diff 对象中的重复属性/列命名混淆...但如果您需要,您也可以在 sequelize 中为您的列命名.. . 我有点想知道为什么你不只是有一个用户类型列等于员工/经销商/客户的用户表,如果值相同
【讨论】:
以上是关于使用 Sequelize ORM 工具将导致较少问题的 Mysql 数据库列命名的主要内容,如果未能解决你的问题,请参考以下文章
DAO vs ORM - 在 Sequelize.js 的上下文中解释的概念
使用 sequelize ORM 连接到 node.js 上的 Amazon RDS Postgres 数据库的问题