0.14.14: Misc bugfixes in migrations & AsyncCollection keys
This commit is contained in:
parent
9a55623370
commit
ac6fd0ef1d
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@extollo/lib",
|
"name": "@extollo/lib",
|
||||||
"version": "0.14.13",
|
"version": "0.14.14",
|
||||||
"description": "The framework library that lifts up your code.",
|
"description": "The framework library that lifts up your code.",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
|
@ -92,5 +92,8 @@ export class CoreIDLoginProvider extends OAuth2LoginProvider<OAuth2LoginProvider
|
|||||||
user.email = data.email
|
user.email = data.email
|
||||||
user.tagline = data.tagline
|
user.tagline = data.tagline
|
||||||
user.photoUrl = data.profile_photo
|
user.photoUrl = data.profile_photo
|
||||||
|
if ( typeof user.save === 'function' ) {
|
||||||
|
user.save()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -544,7 +544,7 @@ export class PostgreSQLDialect extends SQLDialect {
|
|||||||
return parts.join('\n')
|
return parts.join('\n')
|
||||||
}
|
}
|
||||||
|
|
||||||
public renderAlterTable(builder: TableBuilder): string {
|
public renderAlterTable(builder: TableBuilder): Maybe<string> {
|
||||||
const alters: string[] = []
|
const alters: string[] = []
|
||||||
const columns = builder.getColumns()
|
const columns = builder.getColumns()
|
||||||
|
|
||||||
@ -628,6 +628,10 @@ export class PostgreSQLDialect extends SQLDialect {
|
|||||||
alters.push(` RENAME TO "${builder.getRename()}"`)
|
alters.push(` RENAME TO "${builder.getRename()}"`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( !alters.length ) {
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
|
||||||
return 'ALTER TABLE ' + builder.name + '\n' + alters.join(',\n')
|
return 'ALTER TABLE ' + builder.name + '\n' + alters.join(',\n')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import {Constraint, QuerySource} from '../types'
|
|||||||
import {AbstractBuilder} from '../builder/AbstractBuilder'
|
import {AbstractBuilder} from '../builder/AbstractBuilder'
|
||||||
import {AppClass} from '../../lifecycle/AppClass'
|
import {AppClass} from '../../lifecycle/AppClass'
|
||||||
import {ColumnBuilder, IndexBuilder, TableBuilder} from '../schema/TableBuilder'
|
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. */
|
/** A scalar value which can be interpolated safely into an SQL query. */
|
||||||
export type ScalarEscapeValue = null | undefined | string | number | boolean | Date | QuerySafeValue;
|
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.
|
* Given a table schema-builder, render an `ALTER TABLE...` query.
|
||||||
* @param builder
|
* @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.
|
* 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() ) {
|
if ( !builder.isExisting() && builder.isDirty() ) {
|
||||||
parts.push(this.renderCreateTable(builder))
|
parts.push(this.renderCreateTable(builder))
|
||||||
} else if ( builder.isExisting() && builder.isDirty() ) {
|
} 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
|
// Render the various schema queries as a single transaction
|
||||||
|
@ -223,7 +223,16 @@ export class ColumnBuilder extends SchemaBuilderBase {
|
|||||||
* @param type
|
* @param type
|
||||||
*/
|
*/
|
||||||
public type(type: FieldType): this {
|
public type(type: FieldType): this {
|
||||||
if ( this.targetType === type ) {
|
if (
|
||||||
|
this.targetType === type
|
||||||
|
|| (
|
||||||
|
this.existsInSchema
|
||||||
|
&& (
|
||||||
|
(this.targetType === FieldType.integer && type === FieldType.serial)
|
||||||
|
|| (this.targetType === FieldType.bigint && type === FieldType.bigserial)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
) {
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,8 @@ export class AsyncCollection<T> {
|
|||||||
if ( typeof key !== 'function' ) {
|
if ( typeof key !== 'function' ) {
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
key = x => x[key]
|
await callback(items.map(x => x[key]))
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
await callback(items.map(key))
|
await callback(items.map(key))
|
||||||
@ -56,7 +57,9 @@ export class AsyncCollection<T> {
|
|||||||
if ( typeof key !== 'function' ) {
|
if ( typeof key !== 'function' ) {
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
key = x => x[key]
|
await callback(items.map(x => x[key]).map(x => Number(x))
|
||||||
|
.all())
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
await callback(items.map(key).map(x => Number(x))
|
await callback(items.map(key).map(x => Number(x))
|
||||||
|
Loading…
Reference in New Issue
Block a user