gpt4 book ai didi

sql - 我们应该如何命名或将 SQL 表从 Postgres 映射到 Node?

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:34 24 4
gpt4 key购买 nike

我们正在将新项目从 .NET 切换到 Node 和 PostgreSQL。

由于 Postgres 最佳实践似乎不依赖于大写,因此我们将数据库列命名为_underscores_to_separate_words,而不是像我们使用 MSSQL 和 Linq 时那样命名为 UsingPascalCase。

最佳做法是:

  1. 要将查询中的所有列映射到驼峰式命名法? (乏味 - 这就是我们现在正在做的,多行如“member_id as memberID”或“obj.memberID = dbObj.member_id”。)

  2. 要使用下划线分隔的 SQL 列以某种方式自动映射代码中的 camelCase 变量?

  3. 只是屈服于 Postgres 命名并让我从数据库查询返回的对象在我的代码中有下划线分隔? (似乎不受欢迎 - 然后我们有带有驼峰式大小写的非 DB 对象和带有下划线分隔的 DB 对象......困惑。)

真的很想使用 SQL 查询而不是 ORM,但到目前为止这是一个症结所在。

最佳答案

我们决定使用 Knex,它会自动引用所有列名,因此不存在大小写问题。我们在 Postgres 中使用驼峰命名法和 PascalCase 命名,因此数据库与代码保持一致。

缺点是当对 Postgres 运行原始查询时,我们需要引用我们可以接受的列名。

编辑:我们现在使用 Objection 的 knexSnakeCaseMappers它在 Postgres 中自动处理这个问题——代码中的驼峰式大小写,数据库中的 snake_case。 非常方便。

关于sql - 我们应该如何命名或将 SQL 表从 Postgres 映射到 Node?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43240180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com