我用 TypeORM 启动了一个项目,但遇到了问题。我已在 TypeORM 配置上将同步选项设置为 true,但是当我运行应用程序时,我收到以下错误:QueryFailedError: 重复键值违反唯一约束“pg_type_typname_nsp_index”
我读过一些相关内容,但我发现的唯一一件事是有人说这是与并行运行测试有关的问题,而不是我遇到的同一问题。
可能与 async/await 有关,这是数据库连接部分:
export const databaseProviders = [
{
provide: 'DATABASE_CONNECTION',
useFactory: async () => await createConnection({
type: "postgres",
host: process.env.TYPEORM_HOST.toString(),
port: Number(process.env.PORT),
username: process.env.TYPEORM_USER.toString(),
password: process.env.TYPEORM_PASSWORD.toString(),
database: process.env.TYPEORM_DATABASE,
entities: [
__dirname + '/../**/*.entity{.ts,.js}',
],
synchronize: true,
logging: true
})
}
]
Run Code Online (Sandbox Code Playgroud)
我不打算在生产中使用这个项目,我希望 TypeORM 为我生成表,仅此而已。也许我可以通过将同步设置为 false 并使用迁移来解决这个问题。
它似乎正在创建或尝试创建该表 3 次。
无论如何,希望有人能帮助我。
我正在尝试制作一个正则表达式来计算以下格式的前导零:
01、001和0001。
这些是我需要以某种方式处理的一些 id。
我尝试过这样的事情:
id.split(/^0{1,3}/)
Run Code Online (Sandbox Code Playgroud)
例如,如果我的输入是0001,我希望看到这样的内容:
['0', '0', '0']
Run Code Online (Sandbox Code Playgroud)
但我得到这个:
["", "1"]
Run Code Online (Sandbox Code Playgroud)
我只关心前导零,而无法计算我指定的格式后面的零。
我对Express上的异步功能有疑问.我从数据库中获取一些JSON,我收到以下错误:错误:发送后无法设置标头.
我已经阅读了一些关于它的内容,它似乎与具有完成状态或类似功能的功能有关.
我有以下代码,它崩溃了我的应用程序:
router.get('/home', isAuthenticated, function(req, res){
atendimentos.find({}, function(err, atendimentos) {
if(!err){
console.log(atendimentos);
return res.json(atendimentos);
}
})
res.render('home', {user: req.user});
})
Run Code Online (Sandbox Code Playgroud)
但后来我改为这段代码:
router.get('/home', isAuthenticated, function(req, res){
//Added async to the function
atendimentos.find({}, async function(err, atendimentos) {
if(!err){
console.log(atendimentos);
return res.json(atendimentos);
}
})
res.render('home', {user: req.user});
})
Run Code Online (Sandbox Code Playgroud)
应用程序停止崩溃,但错误仍在继续.我不知道为什么.也许我可以得到一些帮助处理这个?
谢谢