db-migrate-base uses export= (#45003)

* db-migrate-base uses export=

Previously it exported a class named Base, which does not reflect what
it actually exports.

* fix db-migrate-pg import
This commit is contained in:
Nathan Shively-Sanders 2020-06-10 08:48:21 -07:00 committed by GitHub
parent 6dc9d8884c
commit 145be27145
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 104 additions and 100 deletions

View File

@ -3,7 +3,7 @@
import * as DbMigrateBase from "db-migrate-base";
// Throw together a dummy driver
let db = {} as DbMigrateBase.Base;
let db = {} as DbMigrateBase;
let callback = (err: any, response: any) => {
// Do nothing.

View File

@ -8,104 +8,106 @@
import * as Promise from "bluebird";
export interface CallbackFunction { (err: any, response: any): void; }
declare namespace Base {
interface CallbackFunction { (err: any, response: any): void; }
export interface InternalModule {
log: any;
type: any;
interface InternalModule {
log: any;
type: any;
}
interface InternalOptions {
mod: InternalModule;
}
interface ColumnSpec {
length?: number;
type: string;
unsigned?: boolean;
primaryKey?: boolean;
autoIncrement?: boolean;
notNull?: boolean;
unique?: boolean;
defaultValue?: any;
foreignKey?: ForeignKeySpec;
}
interface ForeignKeySpec {
name: string;
table: string;
rules?: ForeignKeyRules;
mapping: string | any;
}
interface ForeignKeyRules {
onDelete: string;
onUpdate: string;
}
interface RemoveForeignKeyOptions {
dropIndex?: boolean;
}
interface ColumnDef {
foreignKey?: any; // TODO Figure this out!
constraints: string;
}
interface CreateTableOptions {
columns?: Array<ColumnSpec>;
ifNotExists?: boolean;
}
interface DropTableOptions {
ifExists?: boolean;
}
}
export interface InternalOptions {
mod: InternalModule;
}
declare class Base {
constructor(intern: Base.InternalOptions);
export interface ColumnSpec {
length?: number;
type: string;
unsigned?: boolean;
primaryKey?: boolean;
autoIncrement?: boolean;
notNull?: boolean;
unique?: boolean;
defaultValue?: any;
foreignKey?: ForeignKeySpec;
}
export interface ForeignKeySpec {
name: string;
table: string;
rules?: ForeignKeyRules;
mapping: string | any;
}
export interface ForeignKeyRules {
onDelete: string;
onUpdate: string;
}
export interface RemoveForeignKeyOptions {
dropIndex?: boolean;
}
export interface ColumnDef {
foreignKey?: any; // TODO Figure this out!
constraints: string;
}
export interface CreateTableOptions {
columns?: Array<ColumnSpec>;
ifNotExists?: boolean;
}
export interface DropTableOptions {
ifExists?: boolean;
}
export class Base {
constructor(intern: InternalOptions);
close(callback?: CallbackFunction): void;
close(callback?: Base.CallbackFunction): void;
mapDataType(str: string): string;
truncate(tableName: string, callback: CallbackFunction): void;
checkDBMS(dbms: any, callback: CallbackFunction): void;
truncate(tableName: string, callback: Base.CallbackFunction): void;
checkDBMS(dbms: any, callback: Base.CallbackFunction): void;
createDatabase(...options: any[]): void;
switchDatabase(...options: any[]): void;
dropDatabase(...options: any[]): void;
recurseCallbackArray(foreignKeys: Array<string>, callback: CallbackFunction): void;
bindForeignKey(tableName: string, columnName: string, fkOptions: ForeignKeySpec): (callback: CallbackFunction) => void;
createColumnDef(name: string, spec: ColumnSpec, options?: any): ColumnDef; // TODO Figure out a type for `options`!
//createColumnConstraint(spec: ColumnSpec, options?: any, ...implementationDefinedOptions: any[]): string;
createMigrationsTable(callback: CallbackFunction): void;
createSeedsTable(callback: CallbackFunction): void;
createTable(tableName: string, options: any | CreateTableOptions, callback: CallbackFunction): void;
dropTable(tableName: string, optionsOrCb?: DropTableOptions | CallbackFunction, callback?: CallbackFunction): void;
renameTable(tableName: string, newTableName: string, callback: CallbackFunction): void;
addColumn(tableName: string, columnName: string, columnSpec: ColumnSpec, callback: CallbackFunction): void;
removeColumn(tableName: string, columnName: string, callback: CallbackFunction): void;
renameColumn(tableName: string, oldColumnName: string, newColumnName: string, callback: CallbackFunction): void;
changeColumn(tableName: string, columnName: string, columnSpec: ColumnSpec, callback: CallbackFunction): void;
recurseCallbackArray(foreignKeys: Array<string>, callback: Base.CallbackFunction): void;
bindForeignKey(tableName: string, columnName: string, fkOptions: Base.ForeignKeySpec): (callback: Base.CallbackFunction) => void;
createColumnDef(name: string, spec: Base.ColumnSpec, options?: any): Base.ColumnDef; // TODO Figure out a type for `options`!
//createColumnConstraint(spec: Base.ColumnSpec, options?: any, ...implementationDefinedOptions: any[]): string;
createMigrationsTable(callback: Base.CallbackFunction): void;
createSeedsTable(callback: Base.CallbackFunction): void;
createTable(tableName: string, options: any | Base.CreateTableOptions, callback: Base.CallbackFunction): void;
dropTable(tableName: string, optionsOrCb?: Base.DropTableOptions | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
renameTable(tableName: string, newTableName: string, callback: Base.CallbackFunction): void;
addColumn(tableName: string, columnName: string, columnSpec: Base.ColumnSpec, callback: Base.CallbackFunction): void;
removeColumn(tableName: string, columnName: string, callback: Base.CallbackFunction): void;
renameColumn(tableName: string, oldColumnName: string, newColumnName: string, callback: Base.CallbackFunction): void;
changeColumn(tableName: string, columnName: string, columnSpec: Base.ColumnSpec, callback: Base.CallbackFunction): void;
quoteDDLArr(arr: Array<string>): Array<string>;
quoteArr(arr: Array<string>): Array<string>;
addIndex(tableName: string, indexName: string, columns: string | Array<string>, uniqueOrCb?: boolean | CallbackFunction, callback?: CallbackFunction): void;
insert(tableName: string, columnNameOrValueArray: any, valueArrayOrCb?: any | CallbackFunction, callback?: CallbackFunction): void;
update(tableName: string, columnNameOrValueArray: any, valueArrayOrIds?: any, idsOrCb?: any | CallbackFunction, callback?: CallbackFunction): void;
lookup(tableName: string, column: string, id?: any, callback?: CallbackFunction): void;
removeIndex(tableNameOrIndexName: string, indexNameOrCb?: string | CallbackFunction, callback?: CallbackFunction): void;
addForeignKey(tableName: string, referencedTableName: string, keyName: string, fieldMapping: any, rules: ForeignKeyRules, callback: CallbackFunction): void;
removeForeignKey(tableName: string, keyName: string, optionsOrCb?: RemoveForeignKeyOptions | CallbackFunction, callback?: CallbackFunction): void;
normalizeColumnSpec(spec: string | ColumnSpec): ColumnSpec;
addMigrationRecord(name: string, callback: CallbackFunction): void;
addSeedRecord(name: string, callback: CallbackFunction): void;
startMigration(callback: CallbackFunction): void;
endMigration(callback: CallbackFunction): void;
runSql(sql?: string, paramsOrCb?: Array<any> | CallbackFunction, callback?: CallbackFunction): void;
allLoadedMigrations(callback: CallbackFunction): void;
allLoadedSeeds(callback: CallbackFunction): void;
deleteMigration(migrationName: string, callback: CallbackFunction): void;
remove(table: string, ids: any, callback: CallbackFunction): void; // TODO Make ids match the type of ids in buildWhereClause(ids);
addIndex(tableName: string, indexName: string, columns: string | Array<string>, uniqueOrCb?: boolean | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
insert(tableName: string, columnNameOrValueArray: any, valueArrayOrCb?: any | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
update(tableName: string, columnNameOrValueArray: any, valueArrayOrIds?: any, idsOrCb?: any | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
lookup(tableName: string, column: string, id?: any, callback?: Base.CallbackFunction): void;
removeIndex(tableNameOrIndexName: string, indexNameOrCb?: string | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
addForeignKey(tableName: string, referencedTableName: string, keyName: string, fieldMapping: any, rules: Base.ForeignKeyRules, callback: Base.CallbackFunction): void;
removeForeignKey(tableName: string, keyName: string, optionsOrCb?: Base.RemoveForeignKeyOptions | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
normalizeColumnSpec(spec: string | Base.ColumnSpec): Base.ColumnSpec;
addMigrationRecord(name: string, callback: Base.CallbackFunction): void;
addSeedRecord(name: string, callback: Base.CallbackFunction): void;
startMigration(callback: Base.CallbackFunction): void;
endMigration(callback: Base.CallbackFunction): void;
runSql(sql?: string, paramsOrCb?: Array<any> | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
allLoadedMigrations(callback: Base.CallbackFunction): void;
allLoadedSeeds(callback: Base.CallbackFunction): void;
deleteMigration(migrationName: string, callback: Base.CallbackFunction): void;
remove(table: string, ids: any, callback: Base.CallbackFunction): void; // TODO Make ids match the type of ids in buildWhereClause(ids);
buildWhereClause(ids: any): string;
deleteSeed(seedName: string, callback: CallbackFunction): void;
all(sql: string, paramsOrCb?: Array<any> | CallbackFunction, callback?: CallbackFunction): void;
deleteSeed(seedName: string, callback: Base.CallbackFunction): void;
all(sql: string, paramsOrCb?: Array<any> | Base.CallbackFunction, callback?: Base.CallbackFunction): void;
escape(str: string): string;
escapeString(str: string): string;
escapeDDL(str: string): string;
@ -120,24 +122,24 @@ export class Base {
recurseCallbackArrayAsync(foreignKeys: Array<string>): Promise<any>;
createMigrationsTableAsync(): Promise<any>;
createSeedsTableAsync(): Promise<any>;
createTableAsync(tableName: string, options: any | CreateTableOptions): Promise<any>;
dropTableAsync(tableName: string, options?: DropTableOptions): Promise<any>;
createTableAsync(tableName: string, options: any | Base.CreateTableOptions): Promise<any>;
dropTableAsync(tableName: string, options?: Base.DropTableOptions): Promise<any>;
renameTableAsync(tableName: string, newTableName: string): Promise<any>;
addColumnAsync(tableName: string, columnName: string, columnSpec: ColumnSpec): Promise<any>;
addColumnAsync(tableName: string, columnName: string, columnSpec: Base.ColumnSpec): Promise<any>;
removeColumnAsync(tableName: string, columnName: string): Promise<any>;
renameColumnAsync(tableName: string, oldColumnName: string, newColumnName: string): Promise<any>;
changeColumnAsync(tableName: string, columnName: string, columnSpec: ColumnSpec): Promise<any>;
changeColumnAsync(tableName: string, columnName: string, columnSpec: Base.ColumnSpec): Promise<any>;
addIndexAsync(tableName: string, indexName: string, columns: string | Array<string>, unique?: boolean): Promise<any>;
insertAsync(tableName: string, columnNameOrValueArray: any, valueArrayOrCb?: any | CallbackFunction, callback?: CallbackFunction): Promise<any>;
updateAsync(tableName: string, columnNameOrValueArray: any, valueArrayOrIds?: any, idsOrCb?: any | CallbackFunction, callback?: CallbackFunction): Promise<any>;
lookupAsync(tableName: string, column: string, id?: any, callback?: CallbackFunction): Promise<any>;
insertAsync(tableName: string, columnNameOrValueArray: any, valueArrayOrCb?: any | Base.CallbackFunction, callback?: Base.CallbackFunction): Promise<any>;
updateAsync(tableName: string, columnNameOrValueArray: any, valueArrayOrIds?: any, idsOrCb?: any | Base.CallbackFunction, callback?: Base.CallbackFunction): Promise<any>;
lookupAsync(tableName: string, column: string, id?: any, callback?: Base.CallbackFunction): Promise<any>;
removeIndexAsync(tableNameOrIndexName: string, indexName?: string): Promise<any>;
addForeignKeyAsync(tableName: string, referencedTableName: string, keyName: string, fieldMapping: any, rules: ForeignKeyRules): Promise<any>;
removeForeignKeyAsync(tableName: string, keyName: string, options?: RemoveForeignKeyOptions): Promise<any>;
addForeignKeyAsync(tableName: string, referencedTableName: string, keyName: string, fieldMapping: any, rules: Base.ForeignKeyRules): Promise<any>;
removeForeignKeyAsync(tableName: string, keyName: string, options?: Base.RemoveForeignKeyOptions): Promise<any>;
addMigrationRecordAsync(name: string): Promise<any>;
addSeedRecordAsync(name: string): Promise<any>;
startMigrationAsync(): Promise<any>;
endMigrationAsync(callback: CallbackFunction): Promise<any>;
endMigrationAsync(callback: Base.CallbackFunction): Promise<any>;
runSqlAsync(sql?: string, params?: Array<any>): Promise<any>;
allLoadedMigrationsAsync(): Promise<any>;
allLoadedSeedsAsync(): Promise<any>;
@ -146,3 +148,5 @@ export class Base {
deleteSeedAsync(seedName: string): Promise<any>;
allAsync(sql: string, params?: Array<any>): Promise<any>;
}
export = Base;

View File

@ -5,7 +5,7 @@
// TypeScript Version: 3.2
import * as pg from "pg";
import * as DbMigrateBase from "db-migrate-base";
import DbMigrateBase = require("db-migrate-base");
import * as Promise from "bluebird";
// Yes, this is a dummy interface for now; the current implementation of the pg driver doesn't need any options.
@ -38,7 +38,7 @@ export interface ColumnConstraintOptions {
emitPrimaryKey?: boolean;
}
export class PgDriver extends DbMigrateBase.Base {
export class PgDriver extends DbMigrateBase {
constructor(connection: pg.Client, schema: string, intern: DbMigrateBase.InternalOptions);
createDatabase(dbName: string, optionsOrCb: CreateDatabaseOptions | DbMigrateBase.CallbackFunction, callback?: DbMigrateBase.CallbackFunction): void;
dropDatabase(dbName: string, optionsOrCb: DropDatabaseOptions | DbMigrateBase.CallbackFunction, callback?: DbMigrateBase.CallbackFunction): void;