php debugging xdebug visual-studio-debugging visual-studio-code
在 Sequelize v5 上配置模型之间的关联时,出现了这样的错误。
/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/base.js:106
throw new AssociationError(`You have used the alias ${options.as} in two separate associations. ` +
^
SequelizeAssociationError: You have used the alias originMenu in two separate associations. Aliased associations must have unique aliases.
at new Association (/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/base.js:106:13)
at new BelongsTo (/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/belongs-to.js:18:5)
at Function.<anonymous> (/home/aditya/project/apisrv/node_modules/sequelize/lib/associations/mixin.js:105:25)
at Function.Model.(anonymous function) [as belongsTo] (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/model/model/model.js:116:28)
at associations.forEach.association (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:54:52)
at Array.forEach (<anonymous>)
at models.forEach.model (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:48:26)
at Array.forEach (<anonymous>)
at Sequelize.associateModels (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:44:16)
at Sequelize.addModels (/home/aditya/project/apisrv/node_modules/sequelize-typescript/dist/sequelize/sequelize/sequelize.js:36:14)
at Object.<anonymous> (/home/aditya/project/apisrv/src/repositories/pg/index.ts:44:15)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Module.m._compile …
Run Code Online (Sandbox Code Playgroud) 我想使用 Nestjs 和 TypeORM 在 PostgreSQL 中实现数据库行锁定。请任何人告诉我如何以正确的方式实施它。我尝试使用以下代码,但不确定它是否锁定特定行。
async testFun(): Promise<any> {
const user = await this.userRepo
.createQueryBuilder("user")
.useTransaction(true)
.setLock("pessimistic_write")
.where("id = :id", { id: 2 })
.getOne()
const updateResult: any = await this.userRepo.createQueryBuilder('test')
.update()
.set({ fullname: "frm3000" })
.where("id = :id", { id: 2 })
.execute();
return updateResult;
}
Run Code Online (Sandbox Code Playgroud)
TypeORM 生成的查询是,
query: START TRANSACTION
query: SELECT * FROM "users" "user" WHERE id = $1 FOR UPDATE -- PARAMETERS: [2]
query: COMMIT
query: UPDATE "users" SET "fullname" = $1 WHERE "id" …
Run Code Online (Sandbox Code Playgroud) 我在 ubuntu 14.04 上启动 docker 服务并尝试启动 postgres 容器后刚刚收到这些消息。
$ docker start codeslave-postgres --> starting my container
$ Error response from daemon: network bridge not found
$ Error: failed to start containers: codeslave-postgres
Run Code Online (Sandbox Code Playgroud)
我试图停止并重新启动 docker 服务,也重新启动我的机器,但它似乎不够工作。那么这些消息的含义是什么?
postgresql ×2
bridge ×1
containers ×1
debugging ×1
docker ×1
nestjs ×1
networking ×1
node.js ×1
php ×1
sequelize.js ×1
typeorm ×1
typescript ×1
xdebug ×1