From 37093607342cf80c7f52a4e1e69a59aee08839ce Mon Sep 17 00:00:00 2001 From: Christopher McGinnis Date: Wed, 14 Feb 2018 12:01:46 -0800 Subject: [PATCH 1/2] Added missing schema builder parameters --- types/knex/index.d.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/types/knex/index.d.ts b/types/knex/index.d.ts index 99b6a10476..9c405f1d9c 100644 --- a/types/knex/index.d.ts +++ b/types/knex/index.d.ts @@ -13,6 +13,7 @@ import events = require("events"); import stream = require ("stream"); import Bluebird = require("bluebird"); +import { ColumnBuilder } from "knex"; type Callback = Function; type Client = Function; @@ -426,7 +427,7 @@ declare namespace Knex { date(columnName: string): ColumnBuilder; dateTime(columnName: string): ColumnBuilder; time(columnName: string): ColumnBuilder; - timestamp(columnName: string): ColumnBuilder; + timestamp(columnName: string, standard?: boolean): ColumnBuilder; timestamps(useTimestampType?: boolean, makeDefaultNow?: boolean): ColumnBuilder; binary(columnName: string, length?: number): ColumnBuilder; enum(columnName: string, values: Value[]): ColumnBuilder; @@ -439,8 +440,8 @@ declare namespace Knex { primary(columnNames: string[]): TableBuilder; index(columnNames: (string | Raw)[], indexName?: string, indexType?: string): TableBuilder; unique(columnNames: (string | Raw)[], indexName?: string): TableBuilder; - foreign(column: string): ForeignConstraintBuilder; - foreign(columns: string[]): MultikeyForeignConstraintBuilder; + foreign(column: string, foreignKeyName?: string): ForeignConstraintBuilder; + foreign(columns: string[], foreignKeyName?: string): ForeignConstraintBuilder; dropForeign(columnNames: string[], foreignKeyName?: string): TableBuilder; dropUnique(columnNames: (string | Raw)[], indexName?: string): TableBuilder; dropPrimary(constraintName?: string): TableBuilder; @@ -465,8 +466,8 @@ declare namespace Knex { interface ColumnBuilder { index(indexName?: string): ColumnBuilder; - primary(): ColumnBuilder; - unique(): ColumnBuilder; + primary(constraintName?: string): ColumnBuilder; + unique(indexName?: string): ColumnBuilder; references(columnName: string): ReferencingColumnBuilder; onDelete(command: string): ColumnBuilder; onUpdate(command: string): ColumnBuilder; From 5cea434a40cf6b96c396eb98598bf7e1f78afcde Mon Sep 17 00:00:00 2001 From: Christopher McGinnis Date: Wed, 14 Feb 2018 15:08:12 -0800 Subject: [PATCH 2/2] Added tests, fixed errant import and foreign return type --- types/knex/index.d.ts | 3 +-- types/knex/knex-tests.ts | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/types/knex/index.d.ts b/types/knex/index.d.ts index 9c405f1d9c..138e2e586c 100644 --- a/types/knex/index.d.ts +++ b/types/knex/index.d.ts @@ -13,7 +13,6 @@ import events = require("events"); import stream = require ("stream"); import Bluebird = require("bluebird"); -import { ColumnBuilder } from "knex"; type Callback = Function; type Client = Function; @@ -441,7 +440,7 @@ declare namespace Knex { index(columnNames: (string | Raw)[], indexName?: string, indexType?: string): TableBuilder; unique(columnNames: (string | Raw)[], indexName?: string): TableBuilder; foreign(column: string, foreignKeyName?: string): ForeignConstraintBuilder; - foreign(columns: string[], foreignKeyName?: string): ForeignConstraintBuilder; + foreign(columns: string[], foreignKeyName?: string): MultikeyForeignConstraintBuilder; dropForeign(columnNames: string[], foreignKeyName?: string): TableBuilder; dropUnique(columnNames: (string | Raw)[], indexName?: string): TableBuilder; dropPrimary(constraintName?: string): TableBuilder; diff --git a/types/knex/knex-tests.ts b/types/knex/knex-tests.ts index 3aaefb6909..c817483d48 100644 --- a/types/knex/knex-tests.ts +++ b/types/knex/knex-tests.ts @@ -1039,6 +1039,10 @@ knex.schema .dropTableIfExists('A') .createTable('A', table => { table.integer('C').unsigned().references('B.id').notNullable(); + table.integer('D').primary('PK').notNullable(); + table.string('E').unique('UX').nullable(); + table.foreign('E', 'FK').references('F.id'); + table.timestamp('T', false).notNullable(); });