Adjust generateDdlCommands return type (#4326)

This commit is contained in:
Nicola Krumschmidt 2021-03-01 18:11:16 +01:00 committed by GitHub
parent d807832b3b
commit 29b8a3623f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 10 deletions

View File

@ -69,7 +69,7 @@ class SchemaCompiler_SQLite3 extends SchemaCompiler {
}
}
return result;
return { pre: [], sql: result, post: [] };
}
}

View File

@ -67,9 +67,13 @@ class SchemaCompiler {
async generateDdlCommands() {
const generatedCommands = this.toSQL();
return Array.isArray(generatedCommands)
? generatedCommands
: [generatedCommands];
return {
pre: [],
sql: Array.isArray(generatedCommands)
? generatedCommands
: [generatedCommands],
post: [],
};
}
}

View File

@ -130,7 +130,7 @@ describe('Schema', () => {
const queries = await builder.generateDdlCommands();
expect(queries).to.deep.equal([
expect(queries.sql).to.deep.equal([
"CREATE TABLE `_knex_temp_alter111` (`column_integer` varchar(255), `column_string` varchar(255), `column_datetime` datetime, `column_defaultTo` integer DEFAULT '0', `column_notNullable` varchar(255) NOT NULL, `column_defaultToAndNotNullable` datetime NOT NULL DEFAULT '0')",
'INSERT INTO _knex_temp_alter111 SELECT * FROM alter_table;',
'DROP TABLE "alter_table"',

View File

@ -65,7 +65,7 @@ describe('Schema', () => {
const queries = await builder.generateDdlCommands();
if (isSQLite(knex)) {
expect(queries).to.eql([
expect(queries.sql).to.eql([
'CREATE TABLE `_knex_temp_alter111` (`id` integer not null primary key autoincrement, `fkey_two` integer not null, `fkey_three` integer not null, CONSTRAINT fk_fkey_threeee FOREIGN KEY (`fkey_three`) REFERENCES `foreign_keys_table_three` (`id`))',
'INSERT INTO _knex_temp_alter111 SELECT * FROM foreign_keys_table_one;',
'DROP TABLE "foreign_keys_table_one"',
@ -74,7 +74,7 @@ describe('Schema', () => {
}
if (isPostgreSQL(knex)) {
expect(queries).to.eql([
expect(queries.sql).to.eql([
{
bindings: [],
sql:
@ -102,7 +102,7 @@ describe('Schema', () => {
const queries = await builder.generateDdlCommands();
expect(queries).to.eql([
expect(queries.sql).to.eql([
'CREATE TABLE `_knex_temp_alter111` (`id` integer not null primary key autoincrement, `fkey_two` integer not null, `fkey_three` integer not null, CONSTRAINT fk_fkey_threeee FOREIGN KEY (`fkey_three`) REFERENCES `foreign_keys_table_three` (`id`) ON DELETE CASCADE)',
'INSERT INTO _knex_temp_alter111 SELECT * FROM foreign_keys_table_one;',
'DROP TABLE "foreign_keys_table_one"',
@ -128,7 +128,7 @@ describe('Schema', () => {
const queries = await builder.generateDdlCommands();
expect(queries).to.eql([
expect(queries.sql).to.eql([
'CREATE TABLE `_knex_temp_alter111` (`id` integer not null primary key autoincrement, `fkey_two` integer not null, `fkey_three` integer not null, CONSTRAINT fk_fkey_threeee FOREIGN KEY (`fkey_three`) REFERENCES `foreign_keys_table_three` (`id`) ON UPDATE CASCADE)',
'INSERT INTO _knex_temp_alter111 SELECT * FROM foreign_keys_table_one;',
'DROP TABLE "foreign_keys_table_one"',

2
types/index.d.ts vendored
View File

@ -1671,7 +1671,7 @@ export declare namespace Knex {
readonly [Symbol.toStringTag]: string;
}
interface ChainableInterface<T = any> extends Pick<Promise<T>, keyof Promise<T> & ExposedPromiseKeys>, StringTagSupport {
generateDdlCommands(): Promise<string[]>;
generateDdlCommands(): Promise<{ pre: string[], sql: string[], post: string[] }>;
toQuery(): string;
options(options: Readonly<{ [key: string]: any }>): this;
connection(connection: any): this;