koishi-plugin-typeorm
TypeScript icon, indicating that this package has built-in type declarations

3.5.2 • Public • Published

koishi-plugin-typeorm

如果不喜欢 Koishi 的数据库设计的话,来用这个也是一个选择。

本插件提供了 TypeORM 的服务,可以用 ctx.typeorm 进行访问。

本插件不是 Koishi 数据库支持。

安装

npm install koishi-plugin-typeorm

使用

配置

详见 TypeORM 连接参数

只需要配置 type 以及 host port usertoken password 等连接参数即可。 entities 不在此处进行配置。

使用

每一个 Koishi 插件可以使用本插件提供的服务,使用 create 方法创建数据库连接,并在插件中使用。

每个连接的实体是独立的,不可以跨数据库连接建立关系。

示例

export const using = ['typeorm']
export function apply(ctx: Context, config: any) {
  ctx.on('ready', async () => {
    await ctx.typeorm.create('myplugin', [MyEntity]);
  });
  
  ctx.command('foo')
    .action(async(argv, id) => {
      const repo = ctx.typeorm.getRepository(MyEntity);
      const data = await repo.fineOne(id);
    });
}

API

  • create(token: string, entities: TypeORMEntity[], extraOptions?: ConnectionOptions): Promise<Connection> 注册一个数据库连接。
    • token 数据库连接名称。
    • entities 数据库实体。
    • extraOptions 额外的连接参数。

该方法同时会在插件关闭时自动关闭数据库连接。

  • getConnection(token: string): Connection 获取一个数据库连接。

  • getEntityManager(token: string): EntityManager 获取一个实体管理器。

  • getRepository<T>(entity: TypeORMEntity<T>): Repository<T> 获取一个数据库实体的仓库。

  • close(token: string): Promise<void> 关闭一个数据库连接。

Package Sidebar

Install

npm i koishi-plugin-typeorm

Weekly Downloads

33

Version

3.5.2

License

MIT

Unpacked Size

20.5 kB

Total Files

8

Last publish

Collaborators

  • nanahira