transform migrations to work with mysql, postgres and sqlite

sqlite currently fails syntax of views
This commit is contained in:
Julian Krauser 2025-02-01 13:11:10 +01:00
parent 2cee8b5119
commit a73c712626
29 changed files with 1626 additions and 382 deletions

View file

@ -1,35 +1,35 @@
import { Table, TableForeignKey } from "typeorm";
import { getTypeByORM } from "../ormHelper";
import { getDefaultByORM, getTypeByORM, isIncrementPrimary } from "../ormHelper";
export const query_table = new Table({
name: "query",
columns: [
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
{ name: "title", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
{ name: "query", type: getTypeByORM("text"), isNullable: false, default: "''" },
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
{ name: "title", ...getTypeByORM("varchar"), isUnique: true },
{ name: "query", ...getTypeByORM("text"), default: getDefaultByORM("string") },
],
});
export const template_table = new Table({
name: "template",
columns: [
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
{ name: "template", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
{ name: "description", type: getTypeByORM("varchar"), length: "255", isNullable: true },
{ name: "design", type: getTypeByORM("text"), isNullable: false, default: "'{}'" },
{ name: "html", type: getTypeByORM("text"), isNullable: false, default: "''" },
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
{ name: "template", ...getTypeByORM("varchar"), isUnique: true },
{ name: "description", ...getTypeByORM("varchar", true) },
{ name: "design", ...getTypeByORM("text"), default: getDefaultByORM("string", "{}") },
{ name: "html", ...getTypeByORM("text"), default: getDefaultByORM("string") },
],
});
export const template_usage_table = new Table({
name: "template_usage",
columns: [
{ name: "scope", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
{ name: "headerId", type: getTypeByORM("int"), isNullable: true },
{ name: "bodyId", type: getTypeByORM("int"), isNullable: true },
{ name: "footerId", type: getTypeByORM("int"), isNullable: true },
{ name: "headerHeight", type: getTypeByORM("int"), default: null, isNullable: true },
{ name: "footerHeight", type: getTypeByORM("int"), default: null, isNullable: true },
{ name: "scope", ...getTypeByORM("varchar"), isPrimary: true },
{ name: "headerId", ...getTypeByORM("int", true), default: getDefaultByORM("null") },
{ name: "bodyId", ...getTypeByORM("int", true), default: getDefaultByORM("null") },
{ name: "footerId", ...getTypeByORM("int", true), default: getDefaultByORM("null") },
{ name: "headerHeight", ...getTypeByORM("int", true), default: getDefaultByORM("null") },
{ name: "footerHeight", ...getTypeByORM("int", true), default: getDefaultByORM("null") },
],
foreignKeys: [
new TableForeignKey({