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,36 +1,30 @@
|
|||
import { Table, TableForeignKey } from "typeorm";
|
||||
import { getTypeByORM } from "../ormHelper";
|
||||
import { getDefaultByORM, getTypeByORM, isIncrementPrimary, isUUIDPrimary } from "../ormHelper";
|
||||
|
||||
export const invite_table = new Table({
|
||||
name: "invite",
|
||||
columns: [
|
||||
{ name: "mail", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
|
||||
{ name: "token", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "username", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "firstname", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "lastname", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "secret", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "mail", ...getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "token", ...getTypeByORM("varchar") },
|
||||
{ name: "username", ...getTypeByORM("varchar") },
|
||||
{ name: "firstname", ...getTypeByORM("varchar") },
|
||||
{ name: "lastname", ...getTypeByORM("varchar") },
|
||||
{ name: "secret", ...getTypeByORM("varchar") },
|
||||
],
|
||||
});
|
||||
export const role_table = new Table({
|
||||
name: "role",
|
||||
columns: [
|
||||
{
|
||||
name: "id",
|
||||
type: getTypeByORM("int"),
|
||||
isPrimary: true,
|
||||
isGenerated: true,
|
||||
generationStrategy: "increment",
|
||||
},
|
||||
{ name: "role", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "role", ...getTypeByORM("varchar"), isUnique: true },
|
||||
],
|
||||
});
|
||||
|
||||
export const role_permission_table = new Table({
|
||||
name: "role_permission",
|
||||
columns: [
|
||||
{ name: "roleId", type: getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "permission", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
|
||||
{ name: "roleId", ...getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "permission", ...getTypeByORM("varchar"), isPrimary: true },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -46,29 +40,22 @@ export const role_permission_table = new Table({
|
|||
export const user_table = new Table({
|
||||
name: "user",
|
||||
columns: [
|
||||
{
|
||||
name: "id",
|
||||
type: getTypeByORM("varchar"),
|
||||
length: "36",
|
||||
isPrimary: true,
|
||||
isGenerated: true,
|
||||
generationStrategy: "uuid",
|
||||
},
|
||||
{ name: "mail", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
|
||||
{ name: "username", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
|
||||
{ name: "firstname", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "lastname", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "secret", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "static", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "isOwner", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "id", ...getTypeByORM("uuid"), ...isUUIDPrimary },
|
||||
{ name: "mail", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "username", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "firstname", ...getTypeByORM("varchar") },
|
||||
{ name: "lastname", ...getTypeByORM("varchar") },
|
||||
{ name: "secret", ...getTypeByORM("varchar") },
|
||||
{ name: "static", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "isOwner", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
],
|
||||
});
|
||||
|
||||
export const user_roles_table = new Table({
|
||||
name: "user_roles",
|
||||
columns: [
|
||||
{ name: "userId", type: getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "roleId", type: getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "userId", ...getTypeByORM("uuid"), isPrimary: true },
|
||||
{ name: "roleId", ...getTypeByORM("int"), isPrimary: true },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -91,8 +78,8 @@ export const user_roles_table = new Table({
|
|||
export const user_permission_table = new Table({
|
||||
name: "user_permission",
|
||||
columns: [
|
||||
{ name: "userId", type: getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "permission", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
|
||||
{ name: "userId", ...getTypeByORM("uuid"), isPrimary: true },
|
||||
{ name: "permission", ...getTypeByORM("varchar"), isPrimary: true },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -108,9 +95,9 @@ export const user_permission_table = new Table({
|
|||
export const refresh_table = new Table({
|
||||
name: "refresh",
|
||||
columns: [
|
||||
{ name: "token", type: getTypeByORM("varchar"), length: "255", isPrimary: true, isNullable: false },
|
||||
{ name: "expiry", type: getTypeByORM("datetime"), isNullable: false },
|
||||
{ name: "userId", type: getTypeByORM("varchar"), isPrimary: true, isNullable: false },
|
||||
{ name: "token", ...getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "expiry", ...getTypeByORM("datetime", false, 6) },
|
||||
{ name: "userId", ...getTypeByORM("uuid"), isPrimary: true },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -126,26 +113,20 @@ export const refresh_table = new Table({
|
|||
export const webapi_table = new Table({
|
||||
name: "webapi",
|
||||
columns: [
|
||||
{
|
||||
name: "id",
|
||||
type: getTypeByORM("int"),
|
||||
isPrimary: true,
|
||||
isGenerated: true,
|
||||
generationStrategy: "increment",
|
||||
},
|
||||
{ name: "token", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
|
||||
{ name: "title", type: getTypeByORM("varchar"), length: "255", isNullable: false, isUnique: true },
|
||||
{ name: "createdAt", type: getTypeByORM("datetime"), isNullable: false, default: "CURRENT_TIMESTAMP(6)" },
|
||||
{ name: "lastUsage", type: getTypeByORM("datetime"), isNullable: true, default: null },
|
||||
{ name: "expiry", type: getTypeByORM("date"), isNullable: true, default: null },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "token", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "title", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "createdAt", ...getTypeByORM("datetime", false, 6), default: getDefaultByORM("currentTimestamp", 6) },
|
||||
{ name: "lastUsage", ...getTypeByORM("datetime", true, 6), default: getDefaultByORM("null") },
|
||||
{ name: "expiry", ...getTypeByORM("date", true), default: getDefaultByORM("null") },
|
||||
],
|
||||
});
|
||||
|
||||
export const webapi_permission_table = new Table({
|
||||
name: "webapi_permission",
|
||||
columns: [
|
||||
{ name: "webapiId", type: getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "permission", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
|
||||
{ name: "webapiId", ...getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "permission", ...getTypeByORM("varchar"), isPrimary: true },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -161,9 +142,9 @@ export const webapi_permission_table = new Table({
|
|||
export const reset_table = new Table({
|
||||
name: "reset",
|
||||
columns: [
|
||||
{ name: "mail", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
|
||||
{ name: "token", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "username", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "secret", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "mail", ...getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "token", ...getTypeByORM("varchar") },
|
||||
{ name: "username", ...getTypeByORM("varchar") },
|
||||
{ name: "secret", ...getTypeByORM("varchar") },
|
||||
],
|
||||
});
|
||||
|
|
|
@ -1,61 +1,39 @@
|
|||
import { Table, TableForeignKey } from "typeorm";
|
||||
import { getTypeByORM } from "../ormHelper";
|
||||
import { getDefaultByORM, getTypeByORM, isIncrementPrimary, isUUIDPrimary } from "../ormHelper";
|
||||
|
||||
export const calendar_type_table = new Table({
|
||||
name: "calendar_type",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "type", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "nscdr", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "color", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "passphrase", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "externalPrefix", type: getTypeByORM("varchar"), length: "255", isNullable: false, default: "''" },
|
||||
{ name: "sendToWebpage", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "type", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "nscdr", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "color", ...getTypeByORM("varchar") },
|
||||
{ name: "passphrase", ...getTypeByORM("varchar", true) },
|
||||
{ name: "externalPrefix", ...getTypeByORM("varchar"), default: getDefaultByORM("string") },
|
||||
{ name: "sendToWebpage", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
],
|
||||
});
|
||||
|
||||
export const calendar_table = new Table({
|
||||
name: "calendar",
|
||||
columns: [
|
||||
{
|
||||
name: "id",
|
||||
type: getTypeByORM("varchar"),
|
||||
length: "36",
|
||||
isPrimary: true,
|
||||
isGenerated: true,
|
||||
generationStrategy: "uuid",
|
||||
},
|
||||
{ name: "starttime", type: getTypeByORM("datetime"), isNullable: false },
|
||||
{ name: "endtime", type: getTypeByORM("datetime"), isNullable: false },
|
||||
{ name: "title", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "content", type: getTypeByORM("text"), isNullable: true },
|
||||
{ name: "allDay", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "location", type: getTypeByORM("text"), isNullable: true },
|
||||
{ name: "sequence", type: getTypeByORM("int"), default: 1 },
|
||||
{
|
||||
name: "createdAt",
|
||||
type: getTypeByORM("datetime"),
|
||||
precision: 6,
|
||||
isNullable: false,
|
||||
default: "CURRENT_TIMESTAMP(6)",
|
||||
},
|
||||
{ name: "id", ...getTypeByORM("uuid"), ...isUUIDPrimary },
|
||||
{ name: "starttime", ...getTypeByORM("datetime", false, 6) },
|
||||
{ name: "endtime", ...getTypeByORM("datetime", false, 6) },
|
||||
{ name: "title", ...getTypeByORM("varchar") },
|
||||
{ name: "content", ...getTypeByORM("text", true) },
|
||||
{ name: "allDay", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "location", ...getTypeByORM("text", true) },
|
||||
{ name: "sequence", ...getTypeByORM("int"), default: getDefaultByORM("number", 1) },
|
||||
{ name: "createdAt", ...getTypeByORM("datetime", false, 6), default: getDefaultByORM("currentTimestamp", 6) },
|
||||
{
|
||||
name: "updatedAt",
|
||||
type: getTypeByORM("datetime"),
|
||||
precision: 6,
|
||||
isNullable: false,
|
||||
default: "CURRENT_TIMESTAMP(6)",
|
||||
onUpdate: "CURRENT_TIMESTAMP(6)",
|
||||
...getTypeByORM("datetime", false, 6),
|
||||
default: getDefaultByORM("currentTimestamp", 6),
|
||||
onUpdate: getDefaultByORM<string>("currentTimestamp", 6),
|
||||
},
|
||||
{
|
||||
name: "webpageId",
|
||||
type: getTypeByORM("varchar"),
|
||||
length: "255",
|
||||
isNullable: true,
|
||||
default: null,
|
||||
isUnique: true,
|
||||
},
|
||||
{ name: "typeId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "webpageId", ...getTypeByORM("varchar", true), default: getDefaultByORM("null"), isUnique: true },
|
||||
{ name: "typeId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
import { Table, TableForeignKey, View } from "typeorm";
|
||||
import { getTypeByORM } from "../ormHelper";
|
||||
import { getDefaultByORM, getTypeByORM, isIncrementPrimary, isUUIDPrimary } from "../ormHelper";
|
||||
|
||||
export const salutation_table = new Table({
|
||||
name: "salutation",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "salutation", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "salutation", ...getTypeByORM("varchar"), isUnique: true },
|
||||
],
|
||||
});
|
||||
|
||||
export const award_table = new Table({
|
||||
name: "award",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "award", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "award", ...getTypeByORM("varchar"), isUnique: true },
|
||||
],
|
||||
});
|
||||
|
||||
export const communication_type_table = new Table({
|
||||
name: "communication_type",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "type", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "useColumns", type: getTypeByORM("varchar"), length: "255", isNullable: false, default: "''" },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "type", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "useColumns", ...getTypeByORM("varchar"), default: getDefaultByORM("string") },
|
||||
],
|
||||
});
|
||||
|
||||
export const executive_position_table = new Table({
|
||||
name: "executive_position",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "position", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "position", ...getTypeByORM("varchar"), isUnique: true },
|
||||
],
|
||||
});
|
||||
|
||||
export const membership_status_table = new Table({
|
||||
name: "membership_status",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "status", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "status", ...getTypeByORM("varchar"), isUnique: true },
|
||||
],
|
||||
});
|
||||
|
||||
export const qualification_table = new Table({
|
||||
name: "qualification",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "qualification", type: getTypeByORM("varchar"), length: "255", isUnique: true, isNullable: false },
|
||||
{ name: "description", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "qualification", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "description", ...getTypeByORM("varchar"), isNullable: true },
|
||||
],
|
||||
});
|
||||
|
||||
|
@ -55,27 +55,13 @@ export const qualification_table = new Table({
|
|||
export const member_table = new Table({
|
||||
name: "member",
|
||||
columns: [
|
||||
{
|
||||
name: "id",
|
||||
type: getTypeByORM("varchar"),
|
||||
length: "36",
|
||||
isPrimary: true,
|
||||
isGenerated: true,
|
||||
generationStrategy: "uuid",
|
||||
},
|
||||
{ name: "salutationId", type: getTypeByORM("int"), isNullable: false },
|
||||
{
|
||||
name: "internalId",
|
||||
type: getTypeByORM("varchar"),
|
||||
length: "255",
|
||||
default: null,
|
||||
isNullable: true,
|
||||
isUnique: true,
|
||||
},
|
||||
{ name: "firstname", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "lastname", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "nameaffix", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "birthdate", type: getTypeByORM("date"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("uuid"), ...isUUIDPrimary },
|
||||
{ name: "salutationId", ...getTypeByORM("int") },
|
||||
{ name: "internalId", ...getTypeByORM("varchar", true), default: getDefaultByORM("null"), isUnique: true },
|
||||
{ name: "firstname", ...getTypeByORM("varchar") },
|
||||
{ name: "lastname", ...getTypeByORM("varchar") },
|
||||
{ name: "nameaffix", ...getTypeByORM("varchar") },
|
||||
{ name: "birthdate", ...getTypeByORM("date") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -91,12 +77,12 @@ export const member_table = new Table({
|
|||
export const membership_table = new Table({
|
||||
name: "membership",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "start", type: getTypeByORM("date"), isNullable: false },
|
||||
{ name: "end", type: getTypeByORM("date"), isNullable: true },
|
||||
{ name: "terminationReason", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isNullable: false },
|
||||
{ name: "statusId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "start", ...getTypeByORM("date") },
|
||||
{ name: "end", ...getTypeByORM("date", true) },
|
||||
{ name: "terminationReason", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "memberId", ...getTypeByORM("uuid") },
|
||||
{ name: "statusId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -119,13 +105,13 @@ export const membership_table = new Table({
|
|||
export const member_qualifications_table = new Table({
|
||||
name: "member_qualifications",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "note", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "start", type: getTypeByORM("date"), isNullable: false },
|
||||
{ name: "end", type: getTypeByORM("date"), isNullable: true },
|
||||
{ name: "terminationReason", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isNullable: false },
|
||||
{ name: "qualificationId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "note", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "start", ...getTypeByORM("date") },
|
||||
{ name: "end", ...getTypeByORM("date", true) },
|
||||
{ name: "terminationReason", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "memberId", ...getTypeByORM("uuid") },
|
||||
{ name: "qualificationId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -148,12 +134,12 @@ export const member_qualifications_table = new Table({
|
|||
export const member_executive_positions_table = new Table({
|
||||
name: "member_executive_positions",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "note", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "start", type: getTypeByORM("date"), isNullable: false },
|
||||
{ name: "end", type: getTypeByORM("date"), isNullable: true },
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isNullable: false },
|
||||
{ name: "executivePositionId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "note", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "start", ...getTypeByORM("date") },
|
||||
{ name: "end", ...getTypeByORM("date", true) },
|
||||
{ name: "memberId", ...getTypeByORM("uuid") },
|
||||
{ name: "executivePositionId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -176,12 +162,12 @@ export const member_executive_positions_table = new Table({
|
|||
export const member_awards_table = new Table({
|
||||
name: "member_awards",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "given", type: getTypeByORM("boolean"), default: false, isNullable: false },
|
||||
{ name: "note", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "date", type: getTypeByORM("date"), isNullable: false },
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isNullable: false },
|
||||
{ name: "awardId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "given", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "note", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "date", ...getTypeByORM("date") },
|
||||
{ name: "memberId", ...getTypeByORM("uuid") },
|
||||
{ name: "awardId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -204,19 +190,19 @@ export const member_awards_table = new Table({
|
|||
export const member_communication_table = new Table({
|
||||
name: "communication",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "preferred", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "isSendNewsletter", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "isSMSAlarming", type: getTypeByORM("boolean"), isNullable: false, default: false },
|
||||
{ name: "mobile", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "email", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "postalCode", type: getTypeByORM("varchar"), length: "255", default: null, isNullable: true },
|
||||
{ name: "city", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "street", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "streetNumber", type: getTypeByORM("int"), isNullable: true },
|
||||
{ name: "streetNumberAddition", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isNullable: false },
|
||||
{ name: "typeId", type: getTypeByORM("int"), isNullable: false },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "preferred", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "isSendNewsletter", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "isSMSAlarming", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "mobile", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "email", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "postalCode", ...getTypeByORM("varchar"), default: getDefaultByORM("null"), isNullable: true },
|
||||
{ name: "city", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "street", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "streetNumber", ...getTypeByORM("int", true) },
|
||||
{ name: "streetNumberAddition", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "memberId", ...getTypeByORM("uuid") },
|
||||
{ name: "typeId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -247,13 +233,32 @@ export const member_view = new View({
|
|||
\`member\`.\`nameaffix\` AS \`nameaffix\`,
|
||||
\`member\`.\`birthdate\` AS \`birthdate\`,
|
||||
\`salutation\`.\`salutation\` AS \`salutation\`,
|
||||
TIMESTAMPDIFF(YEAR, \`member\`.\`birthdate\`, CURDATE()) AS \`todayAge\`, YEAR(CURDATE()) - YEAR(\`member\`.\`birthdate\`) AS \`ageThisYear\`,
|
||||
TIMESTAMPDIFF(YEAR, \`member\`.\`birthdate\`, CURDATE()) AS \`todayAge\`,
|
||||
YEAR(CURDATE()) - YEAR(\`member\`.\`birthdate\`) AS \`ageThisYear\`,
|
||||
CONCAT('_', FROM_DAYS(TIMESTAMPDIFF(DAY, \`member\`.\`birthdate\`, CURDATE()))) AS \`exactAge\`
|
||||
FROM \`member\` \`member\`
|
||||
LEFT JOIN \`salutation\` \`salutation\` ON \`salutation\`.\`id\`=\`member\`.\`salutationId\`
|
||||
`,
|
||||
});
|
||||
|
||||
export const member_view_postgres = new View({
|
||||
name: "member_view",
|
||||
expression: `
|
||||
SELECT
|
||||
"member"."id" AS "id",
|
||||
"member"."firstname" AS "firstname",
|
||||
"member"."lastname" AS "lastname",
|
||||
"member"."nameaffix" AS "nameaffix",
|
||||
"member"."birthdate" AS "birthdate",
|
||||
"salutation"."salutation" AS "salutation",
|
||||
DATE_PART('year', AGE(CURRENT_DATE, member.birthdate)) AS "todayAge",
|
||||
EXTRACT(YEAR FROM CURRENT_DATE) - EXTRACT(YEAR FROM member.birthdate) AS "ageThisYear",
|
||||
AGE(CURRENT_DATE, member.birthdate) AS "exactAge"
|
||||
FROM "member" "member"
|
||||
LEFT JOIN "salutation" "salutation" ON "salutation"."id"="member"."salutationId"
|
||||
`,
|
||||
});
|
||||
|
||||
export const member_executive_positions_view = new View({
|
||||
name: "member_executive_positions_view",
|
||||
expression: `
|
||||
|
@ -266,13 +271,35 @@ export const member_executive_positions_view = new View({
|
|||
\`member\`.\`nameaffix\` AS \`memberNameaffix\`,
|
||||
\`member\`.\`birthdate\` AS \`memberBirthdate\`,
|
||||
\`salutation\`.\`salutation\` AS \`memberSalutation\`,
|
||||
SUM(TIMESTAMPDIFF(DAY, \`memberExecutivePositions\`.\`start\`,
|
||||
COALESCE(\`memberExecutivePositions\`.\`end\`, CURRENT_DATE))) AS \`durationInDays\`
|
||||
SUM(TIMESTAMPDIFF(DAY, \`memberExecutivePositions\`.\`start\`, COALESCE(\`memberExecutivePositions\`.\`end\`, CURRENT_DATE))) AS \`durationInDays\`,
|
||||
CONCAT('_', FROM_DAYS(SUM(TIMESTAMPDIFF(DAY, \`memberExecutivePositions\`.\`start\`, COALESCE(\`memberExecutivePositions\`.\`end\`, CURRENT_DATE))))) AS \`durationInYears\`
|
||||
FROM \`member_executive_positions\` \`memberExecutivePositions\`
|
||||
LEFT JOIN \`executive_position\` \`executivePosition\` ON \`executivePosition\`.\`id\`=\`memberExecutivePositions\`.\`executivePositionId\`
|
||||
LEFT JOIN \`member\` \`member\` ON \`member\`.\`id\`=\`memberExecutivePositions\`.\`memberId\`
|
||||
LEFT JOIN \`salutation\` \`salutation\` ON \`salutation\`.\`id\`=\`member\`.\`salutationId\`
|
||||
GROUP BY \`executivePosition\`.\`id\`, \`member\`.\`id\`
|
||||
GROUP BY \`executivePosition\`.\`id\`, \`member\`.\`id\`, \`salutation\`.\`id\`
|
||||
`,
|
||||
});
|
||||
|
||||
export const member_executive_positions_view_postgres = new View({
|
||||
name: "member_executive_positions_view",
|
||||
expression: `
|
||||
SELECT
|
||||
"executivePosition"."id" AS "positionId",
|
||||
"executivePosition"."position" AS "position",
|
||||
"member"."id" AS "memberId",
|
||||
"member"."firstname" AS "memberFirstname",
|
||||
"member"."lastname" AS "memberLastname",
|
||||
"member"."nameaffix" AS "memberNameaffix",
|
||||
"member"."birthdate" AS "memberBirthdate",
|
||||
"salutation"."salutation" AS "memberSalutation",
|
||||
SUM(COALESCE("memberExecutivePositions"."end", CURRENT_DATE) - "memberExecutivePositions"."start") AS "durationInDays",
|
||||
SUM(AGE(COALESCE("memberExecutivePositions"."end", CURRENT_DATE), "memberExecutivePositions"."start")) AS "durationInYears"
|
||||
FROM "member_executive_positions" "memberExecutivePositions"
|
||||
LEFT JOIN "executive_position" "executivePosition" ON "executivePosition"."id"="memberExecutivePositions"."executivePositionId"
|
||||
LEFT JOIN "member" "member" ON "member"."id"="memberExecutivePositions"."memberId"
|
||||
LEFT JOIN "salutation" "salutation" ON "salutation"."id"="member"."salutationId"
|
||||
GROUP BY "executivePosition"."id", "member"."id", "salutation"."id"
|
||||
`,
|
||||
});
|
||||
|
||||
|
@ -288,13 +315,35 @@ export const member_qualifications_view = new View({
|
|||
\`member\`.\`nameaffix\` AS \`memberNameaffix\`,
|
||||
\`member\`.\`birthdate\` AS \`memberBirthdate\`,
|
||||
\`salutation\`.\`salutation\` AS \`memberSalutation\`,
|
||||
SUM(TIMESTAMPDIFF(DAY, \`memberQualifications\`.\`start\`,
|
||||
COALESCE(\`memberQualifications\`.\`end\`, CURRENT_DATE))) AS \`durationInDays\`
|
||||
SUM(TIMESTAMPDIFF(DAY, \`memberQualifications\`.\`start\`, COALESCE(\`memberQualifications\`.\`end\`, CURRENT_DATE))) AS \`durationInDays\`,
|
||||
CONCAT('_', FROM_DAYS(SUM(TIMESTAMPDIFF(DAY, \`memberQualifications\`.\`start\`, COALESCE(\`memberQualifications\`.\`end\`, CURRENT_DATE))))) AS \`durationInYears\`
|
||||
FROM \`member_qualifications\` \`memberQualifications\`
|
||||
LEFT JOIN \`qualification\` \`qualification\` ON \`qualification\`.\`id\`=\`memberQualifications\`.\`qualificationId\`
|
||||
LEFT JOIN \`member\` \`member\` ON \`member\`.\`id\`=\`memberQualifications\`.\`memberId\`
|
||||
LEFT JOIN \`salutation\` \`salutation\` ON \`salutation\`.\`id\`=\`member\`.\`salutationId\`
|
||||
GROUP BY \`qualification\`.\`id\`, \`member\`.\`id\`
|
||||
GROUP BY \`qualification\`.\`id\`, \`member\`.\`id\`, \`salutation\`.\`id\`
|
||||
`,
|
||||
});
|
||||
|
||||
export const member_qualifications_view_postgres = new View({
|
||||
name: "member_qualifications_view",
|
||||
expression: `
|
||||
SELECT
|
||||
"qualification"."id" AS "qualificationId",
|
||||
"qualification"."qualification" AS "qualification",
|
||||
"member"."id" AS "memberId",
|
||||
"member"."firstname" AS "memberFirstname",
|
||||
"member"."lastname" AS "memberLastname",
|
||||
"member"."nameaffix" AS "memberNameaffix",
|
||||
"member"."birthdate" AS "memberBirthdate",
|
||||
"salutation"."salutation" AS "memberSalutation",
|
||||
SUM(COALESCE("memberQualifications"."end", CURRENT_DATE) - "memberQualifications"."start") AS "durationInDays",
|
||||
SUM(AGE(COALESCE("memberQualifications"."end", CURRENT_DATE), "memberQualifications"."start")) AS "durationInYears"
|
||||
FROM "member_qualifications" "memberQualifications"
|
||||
LEFT JOIN "qualification" "qualification" ON "qualification"."id"="memberQualifications"."qualificationId"
|
||||
LEFT JOIN "member" "member" ON "member"."id"="memberQualifications"."memberId"
|
||||
LEFT JOIN "salutation" "salutation" ON "salutation"."id"="member"."salutationId"
|
||||
GROUP BY "qualification"."id", "member"."id", "salutation"."id"
|
||||
`,
|
||||
});
|
||||
|
||||
|
@ -310,13 +359,34 @@ export const membership_view = new View({
|
|||
\`member\`.\`nameaffix\` AS \`memberNameaffix\`,
|
||||
\`member\`.\`birthdate\` AS \`memberBirthdate\`,
|
||||
\`salutation\`.\`salutation\` AS \`memberSalutation\`,
|
||||
SUM(TIMESTAMPDIFF(DAY, \`membership\`.\`start\`,
|
||||
COALESCE(\`membership\`.\`end\`, CURRENT_DATE))) AS \`durationInDays\`,
|
||||
SUM(TIMESTAMPDIFF(DAY, \`membership\`.\`start\`, COALESCE(\`membership\`.\`end\`, CURRENT_DATE))) AS \`durationInDays\`,
|
||||
CONCAT('_', FROM_DAYS(SUM(TIMESTAMPDIFF(DAY, \`membership\`.\`start\`, COALESCE(\`membership\`.\`end\`, CURRENT_DATE))))) AS \`durationInYears\`
|
||||
FROM \`membership\` \`membership\`
|
||||
LEFT JOIN \`membership_status\` \`status\` ON \`status\`.\`id\`=\`membership\`.\`statusId\`
|
||||
LEFT JOIN \`member\` \`member\` ON \`member\`.\`id\`=\`membership\`.\`memberId\`
|
||||
LEFT JOIN \`salutation\` \`salutation\` ON \`salutation\`.\`id\`=\`member\`.\`salutationId\`
|
||||
GROUP BY \`status\`.\`id\`, \`member\`.\`id\`
|
||||
GROUP BY \`status\`.\`id\`, \`member\`.\`id\`, \`salutation\`.\`id\`
|
||||
`,
|
||||
});
|
||||
|
||||
export const membership_view_postgres = new View({
|
||||
name: "membership_view",
|
||||
expression: `
|
||||
SELECT
|
||||
"status"."id" AS "statusId",
|
||||
"status"."status" AS "status",
|
||||
"member"."id" AS "memberId",
|
||||
"member"."firstname" AS "memberFirstname",
|
||||
"member"."lastname" AS "memberLastname",
|
||||
"member"."nameaffix" AS "memberNameaffix",
|
||||
"member"."birthdate" AS "memberBirthdate",
|
||||
"salutation"."salutation" AS "memberSalutation",
|
||||
SUM(COALESCE("membership"."end", CURRENT_DATE) - "membership"."start") AS "durationInDays",
|
||||
SUM(AGE(COALESCE("membership"."end", CURRENT_DATE), "membership"."start")) AS "durationInYears"
|
||||
FROM "membership" "membership"
|
||||
LEFT JOIN "membership_status" "status" ON "status"."id"="membership"."statusId"
|
||||
LEFT JOIN "member" "member" ON "member"."id"="membership"."memberId"
|
||||
LEFT JOIN "salutation" "salutation" ON "salutation"."id"="member"."salutationId"
|
||||
GROUP BY "status"."id","member"."id", "salutation"."id"
|
||||
`,
|
||||
});
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
import { Table, TableForeignKey } from "typeorm";
|
||||
import { getTypeByORM } from "../ormHelper";
|
||||
import { getDefaultByORM, getTypeByORM, isIncrementPrimary } from "../ormHelper";
|
||||
|
||||
export const newsletter_table = new Table({
|
||||
name: "newsletter",
|
||||
columns: [
|
||||
{ name: "id", type: getTypeByORM("int"), isPrimary: true, isGenerated: true, generationStrategy: "increment" },
|
||||
{ name: "title", type: getTypeByORM("varchar"), length: "255" },
|
||||
{ name: "description", type: getTypeByORM("varchar"), length: "255", default: "''" },
|
||||
{ name: "newsletterTitle", type: getTypeByORM("varchar"), length: "255", default: "''" },
|
||||
{ name: "newsletterText", type: getTypeByORM("text"), default: "''" },
|
||||
{ name: "newsletterSignatur", type: getTypeByORM("varchar"), length: "255", default: "''" },
|
||||
{ name: "isSent", type: getTypeByORM("boolean"), default: false },
|
||||
{ name: "recipientsByQueryId", type: getTypeByORM("int"), isNullable: true },
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "title", ...getTypeByORM("varchar") },
|
||||
{ name: "description", ...getTypeByORM("varchar"), default: getDefaultByORM("string") },
|
||||
{ name: "newsletterTitle", ...getTypeByORM("varchar"), default: getDefaultByORM("string") },
|
||||
{ name: "newsletterText", ...getTypeByORM("text"), default: getDefaultByORM("string") },
|
||||
{ name: "newsletterSignatur", ...getTypeByORM("varchar"), default: getDefaultByORM("string") },
|
||||
{ name: "isSent", ...getTypeByORM("boolean"), default: getDefaultByORM("boolean", false) },
|
||||
{ name: "recipientsByQueryId", ...getTypeByORM("int", true) },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -27,10 +27,10 @@ export const newsletter_table = new Table({
|
|||
export const newsletter_dates_table = new Table({
|
||||
name: "newsletter_dates",
|
||||
columns: [
|
||||
{ name: "newsletterId", type: getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "calendarId", type: getTypeByORM("varchar"), length: "255", isPrimary: true },
|
||||
{ name: "diffTitle", type: getTypeByORM("varchar"), length: "255", isNullable: true },
|
||||
{ name: "diffDescription", type: getTypeByORM("text"), isNullable: true },
|
||||
{ name: "newsletterId", ...getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "calendarId", ...getTypeByORM("uuid"), isPrimary: true },
|
||||
{ name: "diffTitle", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "diffDescription", ...getTypeByORM("text", true) },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -53,8 +53,8 @@ export const newsletter_dates_table = new Table({
|
|||
export const newsletter_recipients_table = new Table({
|
||||
name: "newsletter_recipients",
|
||||
columns: [
|
||||
{ name: "newsletterId", type: getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "memberId", type: getTypeByORM("varchar"), isPrimary: true },
|
||||
{ name: "newsletterId", ...getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "memberId", ...getTypeByORM("uuid"), isPrimary: true },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
@ -77,8 +77,8 @@ export const newsletter_recipients_table = new Table({
|
|||
export const newsletter_config_table = new Table({
|
||||
name: "newsletter_config",
|
||||
columns: [
|
||||
{ name: "comTypeId", type: getTypeByORM("int"), isPrimary: true, isNullable: false },
|
||||
{ name: "config", type: getTypeByORM("varchar"), length: "255", isNullable: false },
|
||||
{ name: "comTypeId", ...getTypeByORM("int"), isPrimary: true },
|
||||
{ name: "config", ...getTypeByORM("varchar") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
|
|
|
@ -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({
|
||||
|
|
|
@ -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({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue