Luk*_*ams 6 sql postgresql node.js hapijs
我们正在将新项目从 .NET 切换到 Node 和 PostgreSQL。
由于 Postgres 最佳实践似乎不依赖大小写,我们将数据库列命名为 with_underscores_to_separate_words 而不是 UsingPascalCase,就像我们使用 MSSQL 和 Linq 一样。
最佳做法是:
将查询中的所有列映射到驼峰式大小写?(乏味 - 这就是我们现在正在做的,有多行,如“member_id as memberID”或“obj.memberID = dbObj.member_id”。)
用下划线分隔的 SQL 列以某种方式自动映射代码中的驼峰式变量?
只是屈服于 Postgres 命名并使我从数据库查询返回的对象在我的代码中使用下划线分隔?(似乎不可取——然后我们有骆驼大小写的非 DB 对象和下划线分隔的 DB 对象......凌乱。)
真的很想使用 SQL 查询而不是 ORM,但到目前为止这是一个症结。
我们决定使用自动引用所有列名的 Knex,因此没有大小写问题。我们在 Postgres 中使用驼峰命名法和 PascalCase 命名,因此数据库与代码一致。
缺点是当对 Postgres 运行原始查询时,我们需要引用列名,我们可以接受。
编辑:我们现在正在使用反对派knexSnakeCaseMappers
,它在 Postgres 中自动处理这个问题 - 代码中的骆驼案例,数据库中的蛇形案例。很方便。
归档时间: |
|
查看次数: |
2729 次 |
最近记录: |