import { AllowNull, Column, Default, DefaultScope, HasOne, IsInt, Model, Table } from 'sequelize-typescript' import { AccountModel } from '../account/account' @DefaultScope({ include: [ { model: () => AccountModel, required: true } ] }) @Table({ tableName: 'application' }) export class ApplicationModel extends Model { @AllowNull(false) @Default(0) @IsInt @Column migrationVersion: number @HasOne(() => AccountModel, { foreignKey: { allowNull: true }, onDelete: 'cascade' }) Account: AccountModel static countTotal () { return ApplicationModel.count() } static load () { return ApplicationModel.findOne() } }