|
|
|
@ -2,7 +2,7 @@ import {Constraint, QuerySource} from '../types'
|
|
|
|
|
import {AbstractBuilder} from '../builder/AbstractBuilder'
|
|
|
|
|
import {AppClass} from '../../lifecycle/AppClass'
|
|
|
|
|
import {ColumnBuilder, IndexBuilder, TableBuilder} from '../schema/TableBuilder'
|
|
|
|
|
import {Collectable, Collection} from '../../util'
|
|
|
|
|
import {Collectable, Collection, Maybe} from '../../util'
|
|
|
|
|
|
|
|
|
|
/** A scalar value which can be interpolated safely into an SQL query. */
|
|
|
|
|
export type ScalarEscapeValue = null | undefined | string | number | boolean | Date | QuerySafeValue;
|
|
|
|
@ -198,7 +198,7 @@ export abstract class SQLDialect extends AppClass {
|
|
|
|
|
* Given a table schema-builder, render an `ALTER TABLE...` query.
|
|
|
|
|
* @param builder
|
|
|
|
|
*/
|
|
|
|
|
public abstract renderAlterTable(builder: TableBuilder): string;
|
|
|
|
|
public abstract renderAlterTable(builder: TableBuilder): Maybe<string>;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Given a table schema-builder, render a `DROP TABLE...` query.
|
|
|
|
@ -314,7 +314,10 @@ export abstract class SQLDialect extends AppClass {
|
|
|
|
|
if ( !builder.isExisting() && builder.isDirty() ) {
|
|
|
|
|
parts.push(this.renderCreateTable(builder))
|
|
|
|
|
} else if ( builder.isExisting() && builder.isDirty() ) {
|
|
|
|
|
parts.push(this.renderAlterTable(builder))
|
|
|
|
|
const alterTable = this.renderAlterTable(builder)
|
|
|
|
|
if ( alterTable ) {
|
|
|
|
|
parts.push(alterTable)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Render the various schema queries as a single transaction
|
|
|
|
|