Skip to content

Documentation / @tenancy-node/db / DatabasePluginOptions

Interface: DatabasePluginOptions ​

Defined in: db/src/database-plugin.ts:61

Properties ​

admin? ​

optional admin?: Credentials

Defined in: db/src/database-plugin.ts:87

Usuario con permiso de CREATE DATABASE. Por defecto, el de la base central.


central ​

central: ConnectionOptions | { url: string; } & object

Defined in: db/src/database-plugin.ts:65

Base central: URL (mysql://user:pass@host:3306/miapp) u opciones sueltas.

Type Declaration ​

pool? ​

optional pool?: object

pool.max? ​

optional max?: number


cleanupOnFailure? ​

optional cleanupOnFailure?: boolean

Defined in: db/src/database-plugin.ts:92

Borrar la base creada si falla el aprovisionamiento. Por defecto false.


credentials? ​

optional credentials?: CredentialsMode

Defined in: db/src/database-plugin.ts:83

shared (por defecto): un usuario para todos. per-tenant: usuario y contraseña propios.


defaultServerId? ​

optional defaultServerId?: string

Defined in: db/src/database-plugin.ts:106

Id del servidor de la base central. Por defecto default.


driver ​

driver: DatabaseDriver

Defined in: db/src/database-plugin.ts:63

Motor: mysql() de @tenancy-node/db-mysql o postgres() de @tenancy-node/db-postgres.


encryptionKey? ​

optional encryptionKey?: string

Defined in: db/src/database-plugin.ts:69

Llave AES-256-GCM (TENANCY_KEY). Obligatoria con credentials: 'per-tenant'.


isolation? ​

optional isolation?: "schema" | "database"

Defined in: db/src/database-plugin.ts:79

database (por defecto): una base por tenant. schema: un schema por tenant dentro de una base compartida (PostgreSQL), para hostings que no permiten CREATE DATABASE.


lockTimeoutMs? ​

optional lockTimeoutMs?: number

Defined in: db/src/database-plugin.ts:104

Espera máxima del candado por tenant. Por defecto 10 000 ms.


migrations? ​

optional migrations?: object

Defined in: db/src/database-plugin.ts:93

central? ​

optional central?: MigrationsInput

Tus migraciones de la base central (tabla tenancy_central_migrations).

tenant? ​

optional tenant?: MigrationsInput

Migraciones de cada tenant: carpeta (.sql o módulos), objeto o un TenancyMigrator.


pipeline? ​

optional pipeline?: readonly PipelineStep[]

Defined in: db/src/database-plugin.ts:102

Pasos del aprovisionamiento. Por defecto ['createDatabase', 'createUser', 'migrate', 'seed'].


placement? ​

optional placement?: PlacementStrategy

Defined in: db/src/database-plugin.ts:89

Dónde crear cada tenant nuevo. Por defecto least-tenants.


pool? ​

optional pool?: object

Defined in: db/src/database-plugin.ts:90

idleTimeoutMs? ​

optional idleTimeoutMs?: number

max? ​

optional max?: number

maxOpenPools? ​

optional maxOpenPools?: number


prefix? ​

optional prefix?: string

Defined in: db/src/database-plugin.ts:73

tenant_ + id + suffix = nombre de la base del tenant.


previousKeys? ​

optional previousKeys?: readonly string[]

Defined in: db/src/database-plugin.ts:71

Llaves anteriores, para leer valores cifrados antes de una rotación.


schemaDatabase? ​

optional schemaDatabase?: string

Defined in: db/src/database-plugin.ts:81

Modo schema: base donde se crean los schemas. Por defecto, la base central.


seed? ​

optional seed?: (db, tenant) => Promise<void>

Defined in: db/src/database-plugin.ts:100

Datos iniciales de cada tenant.

Parameters ​

db ​

AnyKysely

tenant ​

Tenant

Returns ​

Promise<void>


ssl? ​

optional ssl?: unknown

Defined in: db/src/database-plugin.ts:107


suffix? ​

optional suffix?: string

Defined in: db/src/database-plugin.ts:74


tablePrefix? ​

optional tablePrefix?: string

Defined in: db/src/database-plugin.ts:67

Prefijo de las tablas del paquete. Por defecto tenancy_.


tenantCredentials? ​

optional tenantCredentials?: Credentials

Defined in: db/src/database-plugin.ts:85

Usuario compartido de los tenants. Por defecto, el administrador.

Publicado bajo la licencia MIT.