Skip to content

ORM配置

Vona ORM 是由模块a-orm提供的核心能力,可以在 App config 中修改模块的配置:

src/backend/config/config/config.ts

typescript
// modules
config.modules = {
  'a-orm': {
    table: {
      identityType: 'string',
    },
    softDeletionPrune: {
      enable: true,
    },
  },
};
  • 完整配置如下:

src/suite-vendor/a-vona/modules/a-orm/src/config/config.ts

typescript
export function config(_app: VonaApplication) {
  return {
    table: {
      identityType: 'string' as TableIdentityType,
    },
    model: {
      disableDeleted: false,
      disableInstance: false,
      disableCreateTime: false,
      disableUpdateTime: false,
    },
    softDeletionPrune: {
      enable: true,
      expired: 14 * 24 * 3600 * 1000,
    },
    dialects: {
      mysql: 'a-ormdialect.databaseDialect.mysql',
      mysql2: 'a-ormdialect.databaseDialect.mysql3',
      pg: 'a-ormdialect.databaseDialect.pg',
    } as unknown as TypeDataBaseConfigDialects,
    summer: {
      enable: true,
      meta: {} as IOnionOptionsMeta,
      presetDefault: 'redis' as TSummerCachePreset,
      preset: {
        redis: configRedis,
        redisWithIgnoreNull: configRedisWithIgnoreNull,
        all: configAll,
        allWithIgnoreNull: configAllWithIgnoreNull,
      },
      redis: {
        client: 'model',
      },
    },
  };
}
名称说明
table.identityType数据表关键字段id的类型:string/number
modelmodel的通用设置
softDeletionPrune软删除数据清理设置
dialects系统支持的数据库方言
summer二级缓存设置

基于 MIT 许可发布