gpt4 book ai didi

typescript - 我想使用 typescript 将 mikroConfig 初始化为 MikroORM,但我收到此错误消息

转载 作者:行者123 更新时间:2023-12-04 15:57:24 27 4
gpt4 key购买 nike

错误信息:
'{ readonly entity: readonly [typeof Post];只读数据库名称:“lireddit”;只读类型:“postgresql”;只读调试: bool 值; }' 不可分配给类型为 'Configuration | 的参数选项 |不明确的'。
类型 '{ readonly entity: readonly [typeof Post];只读数据库名称:“lireddit”;只读类型:“postgresql”;只读调试: bool 值; }' 不可分配给类型 'Options '。
类型 '{ readonly entity: readonly [typeof Post];只读数据库名称:“lireddit”;只读类型:“postgresql”;只读调试: bool 值; }' 不能分配给类型 'Partial >'。
属性(property)“实体”的类型不兼容。
类型 'readonly [typeof Post]' 是 'readonly' 并且不能分配给可变类型 '(string | EntityClass | EntityClassGroup | EntitySchema )[]'.ts(2345)
index.ts:

import { MikroORM } from '@mikro-orm/core';
import { __prod__ } from './constants';
import { Post } from './entities/Post';
import mikroConfig from './mikro-orm.config';

const main = async() => {
const orm = await MikroORM.init(mikroConfig);
const post = orm.em.create(Post, {title:'ez az első posztom hehe'})
await orm.em.persistAndFlush(post)
}

main().catch((err) => {
console.error(err)
})
还有 mikro-orm.config.ts:
import { Post } from "./entities/Post";
import { __prod__ } from "./constants";

export default {
entities:[Post],
dbName: "lireddit",
type: "postgresql",
debug : !__prod__,
} as const;
谢谢你的帮助,我很痛苦

最佳答案

您定义 ORM 配置的方式是错误的,您应该使用 Options从核心包中键入而不是 const 断言。以这种方式定义配置以获得最佳的智能感知支持(以及摆脱该 TS 错误):

import { Options } from '@mikro-orm/core';
import { Post } from "./entities/Post";
import { __prod__ } from "./constants";

const config: Options = {
entities: [Post],
dbName: "lireddit",
type: "postgresql",
debug : !__prod__,
};
export default config;

关于typescript - 我想使用 typescript 将 mikroConfig 初始化为 MikroORM,但我收到此错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66830617/

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