0.14.14: Misc bugfixes in migrations & AsyncCollection keys
Some checks failed
continuous-integration/drone/tag Build is failing
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-11-07 21:08:05 -06:00
parent 9a55623370
commit ac6fd0ef1d
6 changed files with 30 additions and 8 deletions

View File

@@ -544,7 +544,7 @@ export class PostgreSQLDialect extends SQLDialect {
return parts.join('\n')
}
public renderAlterTable(builder: TableBuilder): string {
public renderAlterTable(builder: TableBuilder): Maybe<string> {
const alters: string[] = []
const columns = builder.getColumns()
@@ -628,6 +628,10 @@ export class PostgreSQLDialect extends SQLDialect {
alters.push(` RENAME TO "${builder.getRename()}"`)
}
if ( !alters.length ) {
return undefined
}
return 'ALTER TABLE ' + builder.name + '\n' + alters.join(',\n')
}

View File

@@ -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