runlify 0.0.778 → 0.0.782
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/projectsGeneration/args.js +39 -3
- package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +16 -3
- package/build/projectsGeneration/builders/SystemMetaBuilder.js +55 -9
- package/build/projectsGeneration/builders/buildedTypes.js +2 -1
- package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +2 -1
- package/build/projectsGeneration/generateProject/generateEnvironment.js +36 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +75 -8
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +8 -4
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +3 -2
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +32 -7
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.js +32 -1
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +3 -3
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +67 -9
- package/build/projectsGeneration/utils/databaseMeta.js +75 -0
- package/build/types/projectsGeneration/builders/BaseSavableEntityBuilder.d.ts +4 -0
- package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +2 -0
- package/build/types/projectsGeneration/builders/buildedTypes.d.ts +12 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +12 -1
- package/build/types/projectsGeneration/utils/databaseMeta.d.ts +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prismaDatasourceMigrationEnvVar = exports.prismaDatasourceWriteEnvVar = exports.databaseNameToEnvSuffix = exports.buildConfigVarsForAdditionalDatabase = exports.validateEntityDatabaseName = exports.postgresUrlDatabaseName = void 0;
|
|
4
|
+
const change_case_1 = require("change-case");
|
|
5
|
+
const ENTITY_DATABASE_NAME_RE = /^[a-z][a-zA-Z0-9]*$/;
|
|
6
|
+
const postgresUrlDatabaseName = (metaDbName) => metaDbName === 'main' ? 'postgres' : (0, change_case_1.snakeCase)(metaDbName);
|
|
7
|
+
exports.postgresUrlDatabaseName = postgresUrlDatabaseName;
|
|
8
|
+
const validateEntityDatabaseName = (name) => {
|
|
9
|
+
if (name === 'main') {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
if (!ENTITY_DATABASE_NAME_RE.test(name)) {
|
|
13
|
+
throw new Error(`Invalid database name "${name}": use a reserved "main" or an identifier matching ${ENTITY_DATABASE_NAME_RE}.`);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
exports.validateEntityDatabaseName = validateEntityDatabaseName;
|
|
17
|
+
/** Config vars for a non-main database (mirrors database.main.* in SystemMetaBuilder). */
|
|
18
|
+
const buildConfigVarsForAdditionalDatabase = (dbName) => {
|
|
19
|
+
const titleBase = `База данных "${dbName}"`;
|
|
20
|
+
const defaultBase = `postgresql://postgres:password@localhost:5432/${(0, exports.postgresUrlDatabaseName)(dbName)}`;
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
name: `database.${dbName}.write.uri`,
|
|
24
|
+
type: 'string',
|
|
25
|
+
required: true,
|
|
26
|
+
default: defaultBase,
|
|
27
|
+
needFor: `${titleBase}: строка подключения для записи`,
|
|
28
|
+
scopes: ['back', 'worker', 'telegramBot'],
|
|
29
|
+
hidden: true,
|
|
30
|
+
editable: false,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: `database.${dbName}.readOnly.uri`,
|
|
34
|
+
type: 'string',
|
|
35
|
+
required: false,
|
|
36
|
+
default: defaultBase,
|
|
37
|
+
needFor: `${titleBase}: строка подключения только для чтения`,
|
|
38
|
+
scopes: ['back', 'worker', 'telegramBot'],
|
|
39
|
+
hidden: true,
|
|
40
|
+
editable: false,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: `database.${dbName}.readOnly.enabled`,
|
|
44
|
+
type: 'bool',
|
|
45
|
+
required: true,
|
|
46
|
+
default: false,
|
|
47
|
+
needFor: `${titleBase}: включено ли отдельное подключение для чтения`,
|
|
48
|
+
scopes: ['back', 'worker', 'telegramBot'],
|
|
49
|
+
hidden: false,
|
|
50
|
+
editable: true,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: `database.${dbName}.migration.uri`,
|
|
54
|
+
type: 'string',
|
|
55
|
+
required: true,
|
|
56
|
+
default: defaultBase,
|
|
57
|
+
needFor: `${titleBase}: строка подключения для миграций (без pgbouncer)`,
|
|
58
|
+
scopes: ['back', 'worker', 'telegramBot'],
|
|
59
|
+
hidden: true,
|
|
60
|
+
editable: false,
|
|
61
|
+
},
|
|
62
|
+
];
|
|
63
|
+
};
|
|
64
|
+
exports.buildConfigVarsForAdditionalDatabase = buildConfigVarsForAdditionalDatabase;
|
|
65
|
+
const databaseNameToEnvSuffix = (dbName) => dbName.replace(/([A-Z])/gu, '_$1').replace(/^_/, '').toUpperCase();
|
|
66
|
+
exports.databaseNameToEnvSuffix = databaseNameToEnvSuffix;
|
|
67
|
+
const prismaDatasourceWriteEnvVar = (database) => database === 'main'
|
|
68
|
+
? 'DATABASE_MAIN_WRITE_URI'
|
|
69
|
+
: `DATABASE_${(0, exports.databaseNameToEnvSuffix)(database)}_WRITE_URI`;
|
|
70
|
+
exports.prismaDatasourceWriteEnvVar = prismaDatasourceWriteEnvVar;
|
|
71
|
+
const prismaDatasourceMigrationEnvVar = (database) => database === 'main'
|
|
72
|
+
? 'DATABASE_MAIN_MIGRATION_URI'
|
|
73
|
+
: `DATABASE_${(0, exports.databaseNameToEnvSuffix)(database)}_MIGRATION_URI`;
|
|
74
|
+
exports.prismaDatasourceMigrationEnvVar = prismaDatasourceMigrationEnvVar;
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2VNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi91dGlscy9kYXRhYmFzZU1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXFDO0FBSXJDLE1BQU0sdUJBQXVCLEdBQUcscUJBQXFCLENBQUE7QUFFOUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUNwRSxVQUFVLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUEsdUJBQVMsRUFBQyxVQUFVLENBQUMsQ0FBQTtBQUQvQyxRQUFBLHVCQUF1QiwyQkFDd0I7QUFFckQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQVksRUFBUSxFQUFFO0lBQy9ELElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtRQUNuQixPQUFNO0tBQ1A7SUFDRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMEJBQTBCLElBQUksc0RBQXNELHVCQUF1QixHQUFHLENBQy9HLENBQUE7S0FDRjtBQUNILENBQUMsQ0FBQTtBQVRZLFFBQUEsMEJBQTBCLDhCQVN0QztBQUVELDBGQUEwRjtBQUNuRixNQUFNLG9DQUFvQyxHQUFHLENBQ2xELE1BQWMsRUFDRCxFQUFFO0lBQ2YsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLE1BQU0sR0FBRyxDQUFBO0lBQzNDLE1BQU0sV0FBVyxHQUFHLGlEQUFpRCxJQUFBLCtCQUF1QixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7SUFDdEcsT0FBTztRQUNMO1lBQ0UsSUFBSSxFQUFFLFlBQVksTUFBTSxZQUFZO1lBQ3BDLElBQUksRUFBRSxRQUFpQjtZQUN2QixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE9BQU8sRUFBRSxHQUFHLFNBQVMsaUNBQWlDO1lBQ3RELE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRDtZQUNFLElBQUksRUFBRSxZQUFZLE1BQU0sZUFBZTtZQUN2QyxJQUFJLEVBQUUsUUFBaUI7WUFDdkIsUUFBUSxFQUFFLEtBQUs7WUFDZixPQUFPLEVBQUUsV0FBVztZQUNwQixPQUFPLEVBQUUsR0FBRyxTQUFTLHdDQUF3QztZQUM3RCxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztZQUN6QyxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWSxNQUFNLG1CQUFtQjtZQUMzQyxJQUFJLEVBQUUsTUFBZTtZQUNyQixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEdBQUcsU0FBUyxnREFBZ0Q7WUFDckUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7WUFDekMsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsSUFBSTtTQUNmO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWSxNQUFNLGdCQUFnQjtZQUN4QyxJQUFJLEVBQUUsUUFBaUI7WUFDdkIsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsV0FBVztZQUNwQixPQUFPLEVBQUUsR0FBRyxTQUFTLG1EQUFtRDtZQUN4RSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztZQUN6QyxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ3dCLENBQUE7QUFDN0IsQ0FBQyxDQUFBO0FBL0NZLFFBQUEsb0NBQW9DLHdDQStDaEQ7QUFFTSxNQUFNLHVCQUF1QixHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUR2RCxRQUFBLHVCQUF1QiwyQkFDZ0M7QUFFN0QsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUN0RSxRQUFRLEtBQUssTUFBTTtJQUNqQixDQUFDLENBQUMseUJBQXlCO0lBQzNCLENBQUMsQ0FBQyxZQUFZLElBQUEsK0JBQXVCLEVBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQTtBQUhsRCxRQUFBLDJCQUEyQiwrQkFHdUI7QUFFeEQsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUMxRSxRQUFRLEtBQUssTUFBTTtJQUNqQixDQUFDLENBQUMsNkJBQTZCO0lBQy9CLENBQUMsQ0FBQyxZQUFZLElBQUEsK0JBQXVCLEVBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFBO0FBSHRELFFBQUEsK0JBQStCLG1DQUd1QiJ9
|
|
@@ -24,6 +24,7 @@ declare abstract class BaseSavableEntityBuilder extends BaseBuilder implements M
|
|
|
24
24
|
singleKey: boolean;
|
|
25
25
|
logging: boolean;
|
|
26
26
|
auditable: boolean;
|
|
27
|
+
cacheable: boolean;
|
|
27
28
|
creatableByUser: boolean;
|
|
28
29
|
updatableByUser: boolean;
|
|
29
30
|
removableByUser: boolean;
|
|
@@ -47,6 +48,7 @@ declare abstract class BaseSavableEntityBuilder extends BaseBuilder implements M
|
|
|
47
48
|
}>;
|
|
48
49
|
externalSearchName: string | undefined;
|
|
49
50
|
sharded: boolean;
|
|
51
|
+
database: string;
|
|
50
52
|
isExternalSearch: boolean;
|
|
51
53
|
clearDBAfter: {
|
|
52
54
|
count: number;
|
|
@@ -73,6 +75,7 @@ declare abstract class BaseSavableEntityBuilder extends BaseBuilder implements M
|
|
|
73
75
|
setAuditable(auditable?: boolean): this;
|
|
74
76
|
setDeletable(deletable?: boolean): this;
|
|
75
77
|
setEditable(editable?: boolean): this;
|
|
78
|
+
setCacheable(cacheable?: boolean): this;
|
|
76
79
|
setCreatableByUser(creatableByUser?: boolean): this;
|
|
77
80
|
setUpdatableByUser(updatableByUser?: boolean): this;
|
|
78
81
|
setRemovableByUser(removableByUser?: boolean): this;
|
|
@@ -124,6 +127,7 @@ declare abstract class BaseSavableEntityBuilder extends BaseBuilder implements M
|
|
|
124
127
|
setDevPredefinedElements(fields: Record<string, any>[]): void;
|
|
125
128
|
setMultitenancy(multitenancy: Multitenancy, commonElementsVisibleToAll?: boolean): void;
|
|
126
129
|
setSharded(value?: boolean): this;
|
|
130
|
+
setDatabase(name: string): this;
|
|
127
131
|
setIsExternalTable(): this;
|
|
128
132
|
setClearDBAfter(count: number, unit: DateUnit): this;
|
|
129
133
|
setAllowedToChange(value?: string): this;
|
|
@@ -46,6 +46,7 @@ declare class SystemMetaBuilder implements MethodsModelsHolder {
|
|
|
46
46
|
protected outputModels: BaseModelBuilder[];
|
|
47
47
|
labels: string[];
|
|
48
48
|
additionalServices: AdditionalServiceBuilder[];
|
|
49
|
+
private readonly registeredDatabaseNames;
|
|
49
50
|
name: string;
|
|
50
51
|
prefix: string;
|
|
51
52
|
needFor?: string;
|
|
@@ -94,6 +95,7 @@ declare class SystemMetaBuilder implements MethodsModelsHolder {
|
|
|
94
95
|
addExternalMenuItem(label: string, url: string): ExternalMenuItemBuilder;
|
|
95
96
|
addExternalEnvMenuItem(label: string, env: string): ExternalEnvMenuItemBuilder;
|
|
96
97
|
getBack(): DeploymentBuilder;
|
|
98
|
+
addDatabase(name: string): this;
|
|
97
99
|
getDocuments(): EntityBuilderWithOptions<DocumentBuilder>[];
|
|
98
100
|
addDocument(name: string, title?: {
|
|
99
101
|
singular?: string;
|
|
@@ -18,6 +18,9 @@ export interface Glossary {
|
|
|
18
18
|
term: string;
|
|
19
19
|
definition: string;
|
|
20
20
|
}
|
|
21
|
+
export type DataBaseMeta = {
|
|
22
|
+
name: string;
|
|
23
|
+
};
|
|
21
24
|
export type ProjectCategory = 'back' | 'ui' | 'app' | 'land';
|
|
22
25
|
export interface Command {
|
|
23
26
|
projectCategory: ProjectCategory;
|
|
@@ -119,7 +122,8 @@ export declare enum StringType {
|
|
|
119
122
|
}
|
|
120
123
|
export declare enum IndexType {
|
|
121
124
|
BTree = "bTree",
|
|
122
|
-
Hash = "hash"
|
|
125
|
+
Hash = "hash",
|
|
126
|
+
Gin = "gin"
|
|
123
127
|
}
|
|
124
128
|
export type PlainStringField = BaseStringField & {
|
|
125
129
|
stringType: 'plain';
|
|
@@ -236,6 +240,8 @@ export type BaseSavableEntity = BaseEntity & {
|
|
|
236
240
|
methods: ServiceMethod[];
|
|
237
241
|
labels: string[];
|
|
238
242
|
excludeFromCommonMenu: boolean;
|
|
243
|
+
cacheable: boolean;
|
|
244
|
+
database: string;
|
|
239
245
|
};
|
|
240
246
|
export type Report = BaseEntity & {
|
|
241
247
|
type: 'report';
|
|
@@ -243,6 +249,7 @@ export type Report = BaseEntity & {
|
|
|
243
249
|
};
|
|
244
250
|
export type Document = BaseSavableEntity & {
|
|
245
251
|
type: 'document';
|
|
252
|
+
cacheable: boolean;
|
|
246
253
|
deletable: boolean;
|
|
247
254
|
editable: boolean;
|
|
248
255
|
registries: string[];
|
|
@@ -252,6 +259,7 @@ export type Catalog = BaseSavableEntity & {
|
|
|
252
259
|
type: 'catalog';
|
|
253
260
|
deletable: boolean;
|
|
254
261
|
editable: boolean;
|
|
262
|
+
cacheable: boolean;
|
|
255
263
|
};
|
|
256
264
|
export type TsModel = BaseEntity & {
|
|
257
265
|
fields: TsModelField[];
|
|
@@ -389,6 +397,7 @@ export type InfoRegistryPeriod = 'notPeriodic' | 'second' | 'day' | 'month' | 'y
|
|
|
389
397
|
export type InfoRegistry = BaseSavableEntity & {
|
|
390
398
|
type: 'infoRegistry';
|
|
391
399
|
registrarDepended: boolean;
|
|
400
|
+
cacheable: boolean;
|
|
392
401
|
dimensions: Field[];
|
|
393
402
|
resources: Field[];
|
|
394
403
|
period: InfoRegistryPeriod;
|
|
@@ -396,6 +405,7 @@ export type InfoRegistry = BaseSavableEntity & {
|
|
|
396
405
|
export type SumRegistry = BaseSavableEntity & {
|
|
397
406
|
type: 'sumRegistry';
|
|
398
407
|
registrarDepended: boolean;
|
|
408
|
+
cacheable: boolean;
|
|
399
409
|
dimensions: Field[];
|
|
400
410
|
resources: Field[];
|
|
401
411
|
};
|
|
@@ -421,6 +431,7 @@ export type System = {
|
|
|
421
431
|
prefix: string;
|
|
422
432
|
needFor?: string;
|
|
423
433
|
configVars: ConfigVar[];
|
|
434
|
+
dataBases: DataBaseMeta[];
|
|
424
435
|
catalogs: Catalog[];
|
|
425
436
|
documents: Document[];
|
|
426
437
|
infoRegistries: InfoRegistry[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const prismaGetterTmpl: (
|
|
1
|
+
import { ProjectWideGenerationArgs } from '../../../../../../args';
|
|
2
|
+
export declare const prismaGetterTmpl: (args: ProjectWideGenerationArgs) => string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Entity } from '../../../builders';
|
|
2
2
|
import { LinkedEntities } from '../../../types';
|
|
3
|
-
export declare const genPrismaEntity: (entity: Entity, links: LinkedEntities[], forShards?: boolean) => string;
|
|
3
|
+
export declare const genPrismaEntity: (entity: Entity, links: LinkedEntities[], forShards?: boolean, allEntities?: Map<string, Entity>) => string;
|
package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Entity } from '../../../builders';
|
|
2
2
|
import { LinkedEntities } from '../../../types';
|
|
3
|
-
export declare const genPrismaSchemaForEntities: (entities: Entity[], links: LinkedEntities[], forShards?: boolean) => string;
|
|
3
|
+
export declare const genPrismaSchemaForEntities: (entities: Entity[], links: LinkedEntities[], forShards?: boolean, allEntities?: Map<string, Entity>) => string;
|
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
import { ProjectWideGenerationArgs } from '../../../args';
|
|
2
|
-
export
|
|
2
|
+
export type GenPrismaSchemaDbOptions = {
|
|
3
|
+
/** Logical database key; `main` uses legacy paths and split by sharding. */
|
|
4
|
+
database: string;
|
|
5
|
+
/**
|
|
6
|
+
* When `database === 'main'`, same as today: shard vs non-shard models.
|
|
7
|
+
* For `database !== 'main'`, callers must pass `false` (sharding ignored).
|
|
8
|
+
*/
|
|
9
|
+
forShards: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare const genPrismaSchemaForEntitiesWithClientAdnDb: (args: ProjectWideGenerationArgs, opts: GenPrismaSchemaDbOptions) => string;
|
|
12
|
+
/** Minimal deploy schema (migrate URL only). */
|
|
13
|
+
export declare const genDeployConnectionPrisma: (database: string) => string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ConfigVar } from '../builders/buildedTypes';
|
|
2
|
+
export declare const postgresUrlDatabaseName: (metaDbName: string) => string;
|
|
3
|
+
export declare const validateEntityDatabaseName: (name: string) => void;
|
|
4
|
+
/** Config vars for a non-main database (mirrors database.main.* in SystemMetaBuilder). */
|
|
5
|
+
export declare const buildConfigVarsForAdditionalDatabase: (dbName: string) => ConfigVar[];
|
|
6
|
+
export declare const databaseNameToEnvSuffix: (dbName: string) => string;
|
|
7
|
+
export declare const prismaDatasourceWriteEnvVar: (database: string) => string;
|
|
8
|
+
export declare const prismaDatasourceMigrationEnvVar: (database: string) => string;
|