From bc5a137b59ab3f5bc620710bb383f0323cc851cd Mon Sep 17 00:00:00 2001 From: Emanuel Henrique do Prado Date: Mon, 9 May 2016 12:35:20 -0300 Subject: [PATCH] Added type definition for Knex.Migration (#9227) * Added type definition for Knex.Migration Signed-off-by: Emanuel Henrique do Prado * Corrected Knex test according documentation (http://knexjs.org/#Migrations-currentVersion) * Change name Migration to Migrator, according the original source --- knex/knex-tests.ts | 4 ++-- knex/knex.d.ts | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/knex/knex-tests.ts b/knex/knex-tests.ts index e983ec1084..1d4961d9ea 100644 --- a/knex/knex-tests.ts +++ b/knex/knex-tests.ts @@ -594,8 +594,8 @@ knex.migrate.latest(); knex.migrate.rollback(config); knex.migrate.rollback(); -knex.migrate.currentversion(config); -knex.migrate.currentversion(); +knex.migrate.currentVersion(config); +knex.migrate.currentVersion(); knex.seed.make(name, config); knex.seed.make(name); diff --git a/knex/knex.d.ts b/knex/knex.d.ts index 5aa1a46d18..47a5e6ad72 100644 --- a/knex/knex.d.ts +++ b/knex/knex.d.ts @@ -28,7 +28,7 @@ declare module "knex" { schema: Knex.SchemaBuilder; client: any; - migrate: any; + migrate: Knex.Migrator; seed: any; fn: any; } @@ -370,15 +370,15 @@ declare module "knex" { nullable(): ColumnBuilder; comment(value: string): ColumnBuilder; } - + interface ForeignConstraintBuilder { references(columnName: string): ReferencingColumnBuilder; } - + interface MultikeyForeignConstraintBuilder { references(columnNames: string[]): ReferencingColumnBuilder; } - + interface PostgreSqlColumnBuilder extends ColumnBuilder { index(indexName?: string, indexType?: string): ColumnBuilder; } @@ -413,7 +413,7 @@ declare module "knex" { connection?: string|ConnectionConfig|MariaSqlConnectionConfig| Sqlite3ConnectionConfig|SocketConnectionConfig; pool?: PoolConfig; - migrations?: MigrationConfig; + migrations?: MigratorConfig; } interface ConnectionConfig { @@ -487,12 +487,20 @@ declare module "knex" { log?: boolean; } - interface MigrationConfig { + interface MigratorConfig { database?: string; directory?: string; extension?: string; tableName?: string; } + + interface Migrator { + make(name:string, config?: MigratorConfig):Promise; + latest(config?: MigratorConfig):Promise; + rollback(config?: MigratorConfig):Promise; + status(config?: MigratorConfig):Promise; + currentVersion(config?: MigratorConfig):Promise; + } } export = Knex;