gpt4 book ai didi

sql - 如何在 TypeORM 迁移中指定列名大小写

转载 作者:行者123 更新时间:2023-12-04 01:23:25 24 4
gpt4 key购买 nike

我正在使用 typeORM 并且我想使用迁移而不是同步,因为我在一个团队中工作,实际上要让数据库进入应用程序实际运行的状态需要很多繁琐的工作。

问题是我在迁移中指定的每个列名都被转换为小写,我已经通过使所有实体 Prop 变成蛇形来解决这个问题(顺便说一句,这太可怕了)。但是默认情况下,外键会通过(我认为)postgres 转换为驼峰式大小写,因此我无法在迁移中通过外键将任何内容相互关联。 (因为它需要是驼峰式,但查询被转换为小写)

我有没有说清楚我的问题是什么?

有没有办法解决这个问题,或者有没有解决方法?

最佳答案

通过调整您的 ormconfig.js 以支持 Typeorm Naming Strategies 包,可以实现允许 TypeOrm 支持从 camelCase 到 snake_case 的转换的替代方法。这将允许您在数据库中的代码和数据库命名约定中具有编码约定。

它可以通过以下方式设置:

npm i --save typeorm-naming-strategies

然后在你的 ormconfig.js 中,添加以下几行:
const SnakeNamingStrategy = require('typeorm-naming-strategies')
.SnakeNamingStrategy;

module.exports = {
name: 'development',
type: 'postgres',
host: 'localhost',
port: 5432,
...
namingStrategy: new SnakeNamingStrategy(),
}

在 postgres 中命名列时,TypeOrm 现在将遵循 snake_case 约定

关于sql - 如何在 TypeORM 迁移中指定列名大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52931663/

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