首页 > 解决方案 > typeOrm 不在模式中创建条目

问题描述

我在 Postgresql 中使用带有 typeOrm 的 Nestjs。我希望将应用程序中的所有数据以不同的模式保存到“公共”,因为这是众所周知的。我在选项文件中指定了架构,如下所示:

import { TypeOrmModuleOptions } from '@nestjs/typeorm';

export const typeOrmConfig: TypeOrmModuleOptions = {
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'xxxx',
password: 'xxx',
database: 'taskmanagement',
autoLoadEntities: true,
synchronize: true,
schema: 'sh',
};

我创建如下任务:

async createTask(createTaskDto: CreateTaskDto): Promise<Task> {
// create directly using the entity
const { title, description } = createTaskDto;
const task = new Task();
task.title = title;
task.description = description;
task.status = TaskStatus.OPEN;
await task.save();

return task;
}

任务实体定义为:

import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm';

import { TaskStatus } from './task-status.enum';

@Entity()
export class Task extends BaseEntity {
// @PrimaryGeneratedColumn('uuid')
// id: string;

@PrimaryGeneratedColumn()
id: number;
@Column()
title: string;

@Column()
description: string;

@Column()
status: TaskStatus;
}

记录保存到架构“公共”,而不是我的自定义架构“sh”。

我希望 typeOrm 使用配置中的模式,因为它写入配置选项文件中指定的 DB。

这是 nestjs/typeOrm 的错误还是我缺少设置?

标签: postgresqlnestjstypeorm

解决方案


运行构建脚本 - 这似乎可以使用修改后的配置文件。


推荐阅读