@exogee/graphweaver-mikroorm
MikroORM Graphweaver 的适配软件包
文档
综合文献和使用实例可见于我们 Docs 站点它包含安装指令,详细的API文档,以及帮助您开始Graphweaver的指南.
图形织物 CLI graphweaver
Graphweaver 命令行接口( CLI) 工具允许您在命令行外壳中使用命令设置和管理 Graphweaver 。 检查 graphweaver npm 软件包 在这里.
环境变量
要配置单个数据库,可以使用env vars。 有两个选择:
- 指定一个包含连接细节的 JSON 对象的 AWS 机密管理器 ARN
DATABASE_SECRET_ARN='<AWS SECRET ARN>'
- 将所有参数指定为单独的 Env vars
DATABASE_HOST='localhost'
DATABASE_NAME='no_acls'
DATABASE_PORT='5432'
DATABASE_USERNAME='postgres'
DATABASE_PASSWORD='postgres'
如果您有多个数据库连接到图织器, 那么您需要通过自己代码中的配置设置 .
const connection = {
connectionManagerId: 'postgresql',
entities,
driver: PostgreSqlDriver,
mikroOrmConfig: {
host: process.env.DATABASE_HOST || 'localhost',
dbName: process.env.DATABASE_NAME || 'no_acls',
port: process.env.DATABASE_PORT ? Number(process.env.DATABASE_PORT) : 5432,
user: process.env.DATABASE_USERNAME || 'postgres',
password: process.env.DATABASE_PASSWORD || 'postgres',
}
}
@Entity('Tag', {
provider: new MikroBackendProvider(OrmTag, connection),
})
您也可以通过不同的 ARN 每个连接 :
const connection = {
connectionManagerId: 'postgresql',
entities,
driver: PostgreSqlDriver,
secretArn: process.env.DATABASE_ONE_SECRET_ARN
}
@Entity('Tag', {
provider: new MikroBackendProvider(OrmTag, connection),
})
最后,您也可以将一个功能传递给 MikroOrmConfig 选项, Graphweaver 将等待结果。 例如:
export const postgresqlConnection: ConnectionOptions = {
connectionManagerId: 'postgresql',
mikroOrmConfig: async () => {
if (!config) {
logger.info('Resolving new connection config');
const credentials = await postgresqlCredentials();
config = {
entities: [LinkDataEntity, SubmissionDataEntity, UploadDataEntity, VisitDataEntity],
driver: PostgreSqlDriver,
...credentials,
};
} else {
logger.info('Returning pre-cached connection config');
}
return config;
},
};