rake-db 2.30.7 → 2.30.9
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/dist/index.d.ts +90 -28
- package/dist/index.js +309 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +309 -29
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as pqb from 'pqb';
|
|
2
|
-
import { SearchWeight, RecordOptionalString, AdapterBase, TableData, ColumnsShape, NoPrimaryKeyOption, MaybeArray, Column, RawSqlBase, RecordString, EnumColumn, EmptyObject, DbResult, DefaultColumnTypes, DefaultSchemaConfig, QueryLogObject, TableDataFn, TableDataItem, DbDomainArg, ColumnSchemaConfig, raw, Db, QuerySchema, MaybePromise, QueryLogOptions, QueryLogger, ColumnsByType, DbStructureDomainsMap } from 'pqb';
|
|
2
|
+
import { SearchWeight, RecordOptionalString, DefaultPrivileges, AdapterBase, TableData, ColumnsShape, NoPrimaryKeyOption, MaybeArray, Column, RawSqlBase, RecordString, EnumColumn, EmptyObject, DbResult, DefaultColumnTypes, DefaultSchemaConfig, QueryLogObject, TableDataFn, TableDataItem, DbDomainArg, ColumnSchemaConfig, raw, Db, QuerySchema, MaybePromise, QueryLogOptions, QueryLogger, ColumnsByType, DbStructureDomainsMap } from 'pqb';
|
|
3
3
|
|
|
4
4
|
declare namespace DbStructure {
|
|
5
5
|
interface TableNameAndSchemaName {
|
|
@@ -162,8 +162,23 @@ declare namespace DbStructure {
|
|
|
162
162
|
bypassRls: boolean;
|
|
163
163
|
config?: RecordOptionalString;
|
|
164
164
|
}
|
|
165
|
+
interface DefaultPrivilegeConfig {
|
|
166
|
+
privilege: string;
|
|
167
|
+
isGrantable: boolean;
|
|
168
|
+
}
|
|
169
|
+
interface DefaultPrivilegeObjectConfig {
|
|
170
|
+
object: DefaultPrivileges.ObjectType;
|
|
171
|
+
privilegeConfigs: DefaultPrivilegeConfig[];
|
|
172
|
+
}
|
|
173
|
+
interface DefaultPrivilege {
|
|
174
|
+
owner?: string;
|
|
175
|
+
grantee: string;
|
|
176
|
+
schema?: string;
|
|
177
|
+
objectConfigs: DefaultPrivilegeObjectConfig[];
|
|
178
|
+
}
|
|
165
179
|
}
|
|
166
180
|
interface IntrospectedStructure {
|
|
181
|
+
version: number;
|
|
167
182
|
schemas: string[];
|
|
168
183
|
tables: DbStructure.Table[];
|
|
169
184
|
views: DbStructure.View[];
|
|
@@ -176,18 +191,21 @@ interface IntrospectedStructure {
|
|
|
176
191
|
domains: DbStructure.Domain[];
|
|
177
192
|
collations: DbStructure.Collation[];
|
|
178
193
|
roles?: DbStructure.Role[];
|
|
194
|
+
defaultPrivileges?: DbStructure.DefaultPrivilege[];
|
|
179
195
|
managedRolesSql?: string;
|
|
180
196
|
}
|
|
181
197
|
interface IntrospectDbStructureParams {
|
|
182
198
|
roles?: {
|
|
183
199
|
whereSql?: string;
|
|
184
200
|
};
|
|
201
|
+
loadDefaultPrivileges?: boolean;
|
|
185
202
|
}
|
|
203
|
+
declare function getDbVersion(db: AdapterBase): Promise<number>;
|
|
186
204
|
declare function introspectDbSchema(db: AdapterBase, params?: IntrospectDbStructureParams): Promise<IntrospectedStructure>;
|
|
187
205
|
|
|
188
|
-
type RakeDbAst = RakeDbAst.Table | RakeDbAst.ChangeTable | RakeDbAst.RenameType | RakeDbAst.Schema | RakeDbAst.RenameSchema | RakeDbAst.Extension | RakeDbAst.Enum | RakeDbAst.EnumValues | RakeDbAst.RenameEnumValues | RakeDbAst.ChangeEnumValues | RakeDbAst.Domain | RakeDbAst.Collation | RakeDbAst.Constraint | RakeDbAst.RenameTableItem | RakeDbAst.View | RakeDbAst.Role | RakeDbAst.RenameRole | RakeDbAst.ChangeRole;
|
|
206
|
+
type RakeDbAst = RakeDbAst.Table | RakeDbAst.ChangeTable | RakeDbAst.RenameType | RakeDbAst.Schema | RakeDbAst.RenameSchema | RakeDbAst.Extension | RakeDbAst.Enum | RakeDbAst.EnumValues | RakeDbAst.RenameEnumValues | RakeDbAst.ChangeEnumValues | RakeDbAst.Domain | RakeDbAst.Collation | RakeDbAst.Constraint | RakeDbAst.RenameTableItem | RakeDbAst.View | RakeDbAst.Role | RakeDbAst.RenameRole | RakeDbAst.ChangeRole | RakeDbAst.DefaultPrivilege;
|
|
189
207
|
declare namespace RakeDbAst {
|
|
190
|
-
interface Table extends TableData {
|
|
208
|
+
export interface Table extends TableData {
|
|
191
209
|
type: 'table';
|
|
192
210
|
action: 'create' | 'drop';
|
|
193
211
|
schema?: string;
|
|
@@ -199,7 +217,7 @@ declare namespace RakeDbAst {
|
|
|
199
217
|
dropMode?: DropMode;
|
|
200
218
|
comment?: string;
|
|
201
219
|
}
|
|
202
|
-
interface ChangeTable {
|
|
220
|
+
export interface ChangeTable {
|
|
203
221
|
type: 'changeTable';
|
|
204
222
|
schema?: string;
|
|
205
223
|
name: string;
|
|
@@ -208,9 +226,9 @@ declare namespace RakeDbAst {
|
|
|
208
226
|
add: TableData;
|
|
209
227
|
drop: TableData;
|
|
210
228
|
}
|
|
211
|
-
type ChangeTableShape = Record<string, MaybeArray<ChangeTableItem>>;
|
|
212
|
-
type ChangeTableItem = ChangeTableItem.Column | ChangeTableItem.Change | ChangeTableItem.Rename;
|
|
213
|
-
namespace ChangeTableItem {
|
|
229
|
+
export type ChangeTableShape = Record<string, MaybeArray<ChangeTableItem>>;
|
|
230
|
+
export type ChangeTableItem = ChangeTableItem.Column | ChangeTableItem.Change | ChangeTableItem.Rename;
|
|
231
|
+
export namespace ChangeTableItem {
|
|
214
232
|
interface Column {
|
|
215
233
|
type: 'add' | 'drop';
|
|
216
234
|
item: Column;
|
|
@@ -232,7 +250,7 @@ declare namespace RakeDbAst {
|
|
|
232
250
|
name: string;
|
|
233
251
|
}
|
|
234
252
|
}
|
|
235
|
-
interface ColumnChange {
|
|
253
|
+
export interface ColumnChange {
|
|
236
254
|
column?: Column;
|
|
237
255
|
type?: string;
|
|
238
256
|
collate?: string;
|
|
@@ -247,7 +265,7 @@ declare namespace RakeDbAst {
|
|
|
247
265
|
excludes?: TableData.ColumnExclude[];
|
|
248
266
|
identity?: TableData.Identity;
|
|
249
267
|
}
|
|
250
|
-
interface RenameType {
|
|
268
|
+
export interface RenameType {
|
|
251
269
|
type: 'renameType';
|
|
252
270
|
kind: 'TABLE' | 'TYPE' | 'DOMAIN';
|
|
253
271
|
fromSchema?: string;
|
|
@@ -255,29 +273,29 @@ declare namespace RakeDbAst {
|
|
|
255
273
|
toSchema?: string;
|
|
256
274
|
to: string;
|
|
257
275
|
}
|
|
258
|
-
interface Schema {
|
|
276
|
+
export interface Schema {
|
|
259
277
|
type: 'schema';
|
|
260
278
|
action: 'create' | 'drop';
|
|
261
279
|
name: string;
|
|
262
280
|
}
|
|
263
|
-
interface RenameSchema {
|
|
281
|
+
export interface RenameSchema {
|
|
264
282
|
type: 'renameSchema';
|
|
265
283
|
from: string;
|
|
266
284
|
to: string;
|
|
267
285
|
}
|
|
268
|
-
interface ExtensionArg {
|
|
286
|
+
export interface ExtensionArg {
|
|
269
287
|
version?: string;
|
|
270
288
|
cascade?: boolean;
|
|
271
289
|
createIfNotExists?: boolean;
|
|
272
290
|
dropIfExists?: boolean;
|
|
273
291
|
}
|
|
274
|
-
interface Extension extends ExtensionArg {
|
|
292
|
+
export interface Extension extends ExtensionArg {
|
|
275
293
|
type: 'extension';
|
|
276
294
|
action: 'create' | 'drop';
|
|
277
295
|
schema?: string;
|
|
278
296
|
name: string;
|
|
279
297
|
}
|
|
280
|
-
interface Enum {
|
|
298
|
+
export interface Enum {
|
|
281
299
|
type: 'enum';
|
|
282
300
|
action: 'create' | 'drop';
|
|
283
301
|
schema?: string;
|
|
@@ -286,7 +304,7 @@ declare namespace RakeDbAst {
|
|
|
286
304
|
cascade?: boolean;
|
|
287
305
|
dropIfExists?: boolean;
|
|
288
306
|
}
|
|
289
|
-
interface EnumValues {
|
|
307
|
+
export interface EnumValues {
|
|
290
308
|
type: 'enumValues';
|
|
291
309
|
action: 'add' | 'drop';
|
|
292
310
|
schema?: string;
|
|
@@ -296,27 +314,27 @@ declare namespace RakeDbAst {
|
|
|
296
314
|
relativeTo?: string;
|
|
297
315
|
ifNotExists?: boolean;
|
|
298
316
|
}
|
|
299
|
-
interface RenameEnumValues {
|
|
317
|
+
export interface RenameEnumValues {
|
|
300
318
|
type: 'renameEnumValues';
|
|
301
319
|
schema?: string;
|
|
302
320
|
name: string;
|
|
303
321
|
values: RecordString;
|
|
304
322
|
}
|
|
305
|
-
interface ChangeEnumValues {
|
|
323
|
+
export interface ChangeEnumValues {
|
|
306
324
|
type: 'changeEnumValues';
|
|
307
325
|
schema?: string;
|
|
308
326
|
name: string;
|
|
309
327
|
fromValues: string[];
|
|
310
328
|
toValues: string[];
|
|
311
329
|
}
|
|
312
|
-
interface Domain {
|
|
330
|
+
export interface Domain {
|
|
313
331
|
type: 'domain';
|
|
314
332
|
action: 'create' | 'drop';
|
|
315
333
|
schema?: string;
|
|
316
334
|
name: string;
|
|
317
335
|
baseType: Column;
|
|
318
336
|
}
|
|
319
|
-
interface Collation {
|
|
337
|
+
export interface Collation {
|
|
320
338
|
type: 'collation';
|
|
321
339
|
action: 'create' | 'drop';
|
|
322
340
|
schema?: string;
|
|
@@ -332,17 +350,17 @@ declare namespace RakeDbAst {
|
|
|
332
350
|
dropIfExists?: boolean;
|
|
333
351
|
cascade?: boolean;
|
|
334
352
|
}
|
|
335
|
-
interface EnumOptions {
|
|
353
|
+
export interface EnumOptions {
|
|
336
354
|
createIfNotExists?: boolean;
|
|
337
355
|
dropIfExists?: boolean;
|
|
338
356
|
}
|
|
339
|
-
interface Constraint extends TableData.Constraint {
|
|
357
|
+
export interface Constraint extends TableData.Constraint {
|
|
340
358
|
type: 'constraint';
|
|
341
359
|
action: 'create' | 'drop';
|
|
342
360
|
tableSchema?: string;
|
|
343
361
|
tableName: string;
|
|
344
362
|
}
|
|
345
|
-
interface RenameTableItem {
|
|
363
|
+
export interface RenameTableItem {
|
|
346
364
|
type: 'renameTableItem';
|
|
347
365
|
kind: 'INDEX' | 'CONSTRAINT';
|
|
348
366
|
tableSchema?: string;
|
|
@@ -350,7 +368,7 @@ declare namespace RakeDbAst {
|
|
|
350
368
|
from: string;
|
|
351
369
|
to: string;
|
|
352
370
|
}
|
|
353
|
-
interface View {
|
|
371
|
+
export interface View {
|
|
354
372
|
type: 'view';
|
|
355
373
|
action: 'create' | 'drop';
|
|
356
374
|
schema?: string;
|
|
@@ -363,7 +381,7 @@ declare namespace RakeDbAst {
|
|
|
363
381
|
name: string;
|
|
364
382
|
}[];
|
|
365
383
|
}
|
|
366
|
-
interface ViewOptions {
|
|
384
|
+
export interface ViewOptions {
|
|
367
385
|
createOrReplace?: boolean;
|
|
368
386
|
dropIfExists?: boolean;
|
|
369
387
|
dropMode?: DropMode;
|
|
@@ -376,21 +394,42 @@ declare namespace RakeDbAst {
|
|
|
376
394
|
securityInvoker?: boolean;
|
|
377
395
|
};
|
|
378
396
|
}
|
|
379
|
-
interface Role extends DbStructure.Role {
|
|
397
|
+
export interface Role extends DbStructure.Role {
|
|
380
398
|
type: 'role';
|
|
381
399
|
action: 'create' | 'drop';
|
|
382
400
|
}
|
|
383
|
-
interface RenameRole {
|
|
401
|
+
export interface RenameRole {
|
|
384
402
|
type: 'renameRole';
|
|
385
403
|
from: string;
|
|
386
404
|
to: string;
|
|
387
405
|
}
|
|
388
|
-
interface ChangeRole {
|
|
406
|
+
export interface ChangeRole {
|
|
389
407
|
type: 'changeRole';
|
|
390
408
|
name: string;
|
|
391
409
|
from: Partial<DbStructure.Role>;
|
|
392
410
|
to: Partial<DbStructure.Role>;
|
|
393
411
|
}
|
|
412
|
+
interface DefaultPrivilegeSetting {
|
|
413
|
+
privileges?: string[];
|
|
414
|
+
grantablePrivileges?: string[];
|
|
415
|
+
}
|
|
416
|
+
export interface DefaultPrivilegeObjectConfig {
|
|
417
|
+
tables?: DefaultPrivilegeSetting;
|
|
418
|
+
sequences?: DefaultPrivilegeSetting;
|
|
419
|
+
functions?: DefaultPrivilegeSetting;
|
|
420
|
+
types?: DefaultPrivilegeSetting;
|
|
421
|
+
schemas?: DefaultPrivilegeSetting;
|
|
422
|
+
largeObjects?: DefaultPrivilegeSetting;
|
|
423
|
+
}
|
|
424
|
+
export interface DefaultPrivilege {
|
|
425
|
+
type: 'defaultPrivilege';
|
|
426
|
+
owner?: string;
|
|
427
|
+
grantee: string;
|
|
428
|
+
schema?: string;
|
|
429
|
+
grant?: DefaultPrivilegeObjectConfig;
|
|
430
|
+
revoke?: DefaultPrivilegeObjectConfig;
|
|
431
|
+
}
|
|
432
|
+
export { };
|
|
394
433
|
}
|
|
395
434
|
|
|
396
435
|
declare function add(item: Column, options?: {
|
|
@@ -468,6 +507,28 @@ declare const tableChangeMethods: {
|
|
|
468
507
|
type TableChanger<CT> = MigrationColumnTypes<CT> & TableChangeMethods;
|
|
469
508
|
type TableChangeData = Record<string, RakeDbAst.ChangeTableItem.Column | RakeDbAst.ChangeTableItem.Rename | Change | SpecialChange | Column.Pick.Data>;
|
|
470
509
|
|
|
510
|
+
interface DefaultPrivilegeObjectSetting<T> {
|
|
511
|
+
privileges?: readonly T[];
|
|
512
|
+
grantablePrivileges?: readonly T[];
|
|
513
|
+
}
|
|
514
|
+
interface DefaultPrivilegeObjectConfig {
|
|
515
|
+
all?: boolean;
|
|
516
|
+
allGrantable?: boolean;
|
|
517
|
+
tables?: DefaultPrivilegeObjectSetting<DefaultPrivileges.Privilege['Table']>;
|
|
518
|
+
sequences?: DefaultPrivilegeObjectSetting<DefaultPrivileges.Privilege['Sequence']>;
|
|
519
|
+
functions?: DefaultPrivilegeObjectSetting<DefaultPrivileges.Privilege['Function']>;
|
|
520
|
+
types?: DefaultPrivilegeObjectSetting<DefaultPrivileges.Privilege['Type']>;
|
|
521
|
+
schemas?: DefaultPrivilegeObjectSetting<DefaultPrivileges.Privilege['Schema']>;
|
|
522
|
+
largeObjects?: DefaultPrivilegeObjectSetting<DefaultPrivileges.Privilege['LargeObject']>;
|
|
523
|
+
}
|
|
524
|
+
interface ChangeDefaultPrivilegesArg {
|
|
525
|
+
owner?: string;
|
|
526
|
+
grantee: string;
|
|
527
|
+
schema?: string;
|
|
528
|
+
grant?: DefaultPrivilegeObjectConfig;
|
|
529
|
+
revoke?: DefaultPrivilegeObjectConfig;
|
|
530
|
+
}
|
|
531
|
+
|
|
471
532
|
type DropMode = 'CASCADE' | 'RESTRICT';
|
|
472
533
|
type TableOptions = {
|
|
473
534
|
createIfNotExists?: boolean;
|
|
@@ -1416,6 +1477,7 @@ declare class Migration<CT = unknown> {
|
|
|
1416
1477
|
from?: Partial<DbStructure.Role>;
|
|
1417
1478
|
to: Partial<DbStructure.Role>;
|
|
1418
1479
|
}): Promise<void>;
|
|
1480
|
+
changeDefaultPrivileges(params: ChangeDefaultPrivilegesArg): Promise<void>;
|
|
1419
1481
|
}
|
|
1420
1482
|
interface AddEnumValueOptions {
|
|
1421
1483
|
ifNotExists?: boolean;
|
|
@@ -1891,4 +1953,4 @@ declare const dropTable: (db: DbParam, sql: string) => Promise<'done' | 'already
|
|
|
1891
1953
|
declare class RakeDbError extends Error {
|
|
1892
1954
|
}
|
|
1893
1955
|
|
|
1894
|
-
export { type ChangeCallback, type DbMigration, DbStructure, type IntrospectedStructure, RakeDbAst, type RakeDbChangeFn, type RakeDbCliConfigInput, type RakeDbConfig, RakeDbError, type RakeDbFn, type SilentQueries, type StructureToAstCtx, type StructureToAstTableData, astToMigration, concatSchemaAndName, createDatabase, createMigrationInterface, createMigrationsSchemaAndTable, createSchema, createTable, dbColumnToAst, dropDatabase, dropSchema, dropTable, encodeColumnDefault, getConstraintName, getDbStructureTableData, getDbTableColumnsChecks, getExcludeName, getIndexName, getMigrationsSchemaAndTable, getSchemaAndTableFromName, incrementIntermediateCaller, instantiateDbColumn, introspectDbSchema, makeDomainsMap, makeFileVersion, makeRakeDbConfig, makeStructureToAstCtx, migrate, migrateAndClose, migrationConfigDefaults, promptSelect, rakeDbCliWithAdapter, rakeDbCommands, redo, rollback, runMigration, saveMigratedVersion, setRakeDbCliRunFn, structureToAst, tableToAst, writeMigrationFile };
|
|
1956
|
+
export { type ChangeCallback, type DbMigration, DbStructure, type IntrospectedStructure, RakeDbAst, type RakeDbChangeFn, type RakeDbCliConfigInput, type RakeDbConfig, RakeDbError, type RakeDbFn, type SilentQueries, type StructureToAstCtx, type StructureToAstTableData, astToMigration, concatSchemaAndName, createDatabase, createMigrationInterface, createMigrationsSchemaAndTable, createSchema, createTable, dbColumnToAst, dropDatabase, dropSchema, dropTable, encodeColumnDefault, getConstraintName, getDbStructureTableData, getDbTableColumnsChecks, getDbVersion, getExcludeName, getIndexName, getMigrationsSchemaAndTable, getSchemaAndTableFromName, incrementIntermediateCaller, instantiateDbColumn, introspectDbSchema, makeDomainsMap, makeFileVersion, makeRakeDbConfig, makeStructureToAstCtx, migrate, migrateAndClose, migrationConfigDefaults, promptSelect, rakeDbCliWithAdapter, rakeDbCommands, redo, rollback, runMigration, saveMigratedVersion, setRakeDbCliRunFn, structureToAst, tableToAst, writeMigrationFile };
|