transform migrations to work with mysql, postgres and sqlite
sqlite currently fails syntax of views
This commit is contained in:
parent
2cee8b5119
commit
a73c712626
29 changed files with 1626 additions and 382 deletions
|
@ -1,25 +1,25 @@
|
|||
import { Table, TableForeignKey } from "typeorm";
|
||||
import { getTypeByORM } from "../ormHelper";
|
||||
import { getDefaultByORM, getTypeByORM, isIncrementPrimary } from "../ormHelper";
|
||||
|
||||
export const protocol_table = new Table({
|
||||
name: "protocol",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "title", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "date", type: getTypeByORM("date"), isNullable: false },
|
||||
{ name: "starttime", type: getTypeByORM("time"), isNullable: true },
|
||||
{ name: "endtime", type: getTypeByORM("time"), isNullable: true },
|
||||
{ name: "summary", type: getTypeByORM("text"), isNullable: true },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "title", ...getTypeByORM("varchar") },
|
||||
{ name: "date", ...getTypeByORM("date") },
|
||||
{ name: "starttime", ...getTypeByORM("time", true) },
|
||||
{ name: "endtime", ...getTypeByORM("time", true) },
|
||||
{ name: "summary", ...getTypeByORM("text", true) },
|
||||
],
|
||||
});
|
||||
|
||||
export const protocol_agenda_table = new Table({
|
||||
name: "protocol_agenda",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "topic", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "context", type: getTypeByORM("text"), default: "''", isNullable: false },
|
||||
{ name: "protocolId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "topic", ...getTypeByORM("varchar") },
|
||||
{ name: "context", ...getTypeByORM("text"), default: getDefaultByORM("string") },
|
||||
{ name: "protocolId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -35,10 +35,10 @@ export const protocol_agenda_table = new Table({
|
|||
export const protocol_decision_table = new Table({
|
||||
name: "protocol_decision",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "topic", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "context", type: getTypeByORM("text"), default: "''", isNullable: false },
|
||||
{ name: "protocolId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "topic", ...getTypeByORM("varchar") },
|
||||
{ name: "context", ...getTypeByORM("text"), default: getDefaultByORM("string") },
|
||||
{ name: "protocolId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -54,10 +54,10 @@ export const protocol_decision_table = new Table({
|
|||
export const protocol_presence_table = new Table({
|
||||
name: "protocol_presence",
|
||||
columns: [
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "protocolId", type: getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "absent", type: getTypeByORM("boolean"), default: false, isNullable: false },
|
||||
{ name: "excused", type: getTypeByORM("boolean"), default: false, isNullable: false },
|
||||
{ name: "memberId", ...getTypeByORM("uuid"), isPrimary: true },
|
||||
{ name: "protocolId", ...getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "absent", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "excused", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", true) },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -80,13 +80,13 @@ export const protocol_presence_table = new Table({
|
|||
export const protocol_voting_table = new Table({
|
||||
name: "protocol_voting",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "topic", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "context", type: getTypeByORM("text"), default: "''", isNullable: false },
|
||||
{ name: "favour", type: getTypeByORM("int"), default: 0, isNullable: false },
|
||||
{ name: "abstain", type: getTypeByORM("int"), default: 0, isNullable: false },
|
||||
{ name: "against", type: getTypeByORM("int"), default: 0, isNullable: false },
|
||||
{ name: "protocolId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "topic", ...getTypeByORM("varchar") },
|
||||
{ name: "context", ...getTypeByORM("text"), default: getDefaultByORM("string") },
|
||||
{ name: "favour", ...getTypeByORM("int"), default: getDefaultByORM("number", 0) },
|
||||
{ name: "abstain", ...getTypeByORM("int"), default: getDefaultByORM("number", 0) },
|
||||
{ name: "against", ...getTypeByORM("int"), default: getDefaultByORM("number", 0) },
|
||||
{ name: "protocolId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -102,12 +102,12 @@ export const protocol_voting_table = new Table({
|
|||
export const protocol_printout_table = new Table({
|
||||
name: "protocol_printout",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "title", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "iteration", type: getTypeByORM("int"), default: 1, isNullable: false },
|
||||
{ name: "filename", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "createdAt", type: getTypeByORM("datetime"), isNullable: false, default: "CURRENT_TIMESTAMP(6)" },
|
||||
{ name: "protocolId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "title", ...getTypeByORM("varchar") },
|
||||
{ name: "iteration", ...getTypeByORM("int"), default: getDefaultByORM("number", 1) },
|
||||
{ name: "filename", ...getTypeByORM("varchar") },
|
||||
{ name: "createdAt", ...getTypeByORM("datetime", false, 6), default: getDefaultByORM("currentTimestamp", 6) },
|
||||
{ name: "protocolId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue