education controller, service, command
This commit is contained in:
parent
5368a96d0f
commit
fded8a663a
29 changed files with 884 additions and 5 deletions
|
@ -51,6 +51,15 @@ export const qualification_table = new Table({
|
|||
],
|
||||
});
|
||||
|
||||
export const education_table = new Table({
|
||||
name: "education",
|
||||
columns: [
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "education", ...getTypeByORM("varchar"), isUnique: true },
|
||||
{ name: "description", ...getTypeByORM("varchar"), isNullable: true },
|
||||
],
|
||||
});
|
||||
|
||||
/** member and relations */
|
||||
export const member_table = new Table({
|
||||
name: "member",
|
||||
|
@ -222,6 +231,35 @@ export const member_communication_table = new Table({
|
|||
],
|
||||
});
|
||||
|
||||
export const member_educations_table = new Table({
|
||||
name: "member_educations",
|
||||
columns: [
|
||||
{ name: "id", ...getTypeByORM("int"), ...isIncrementPrimary },
|
||||
{ name: "start", ...getTypeByORM("date") },
|
||||
{ name: "end", ...getTypeByORM("date", true), default: getDefaultByORM("null") },
|
||||
{ name: "note", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "place", ...getTypeByORM("varchar"), isNullable: true },
|
||||
{ name: "memberId", ...getTypeByORM("uuid") },
|
||||
{ name: "educationId", ...getTypeByORM("int") },
|
||||
],
|
||||
foreignKeys: [
|
||||
new TableForeignKey({
|
||||
columnNames: ["memberId"],
|
||||
referencedTableName: "member",
|
||||
referencedColumnNames: ["id"],
|
||||
onDelete: "CASCADE",
|
||||
onUpdate: "RESTRICT",
|
||||
}),
|
||||
new TableForeignKey({
|
||||
columnNames: ["educationId"],
|
||||
referencedTableName: "education",
|
||||
referencedColumnNames: ["id"],
|
||||
onDelete: "RESTRICT",
|
||||
onUpdate: "RESTRICT",
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
/** views */
|
||||
export const member_view_mysql = new View({
|
||||
name: "member_view",
|
||||
|
@ -229,6 +267,7 @@ export const member_view_mysql = new View({
|
|||
SELECT
|
||||
\`member\`.\`id\` AS \`id\`,
|
||||
\`member\`.\`internalId\` AS \`internalId\`,
|
||||
\`member\`.\`note\` AS \`note\`,
|
||||
\`member\`.\`firstname\` AS \`firstname\`,
|
||||
\`member\`.\`lastname\` AS \`lastname\`,
|
||||
\`member\`.\`nameaffix\` AS \`nameaffix\`,
|
||||
|
@ -258,6 +297,7 @@ export const member_view_postgres = new View({
|
|||
SELECT
|
||||
"member"."id" AS "id",
|
||||
"member"."internalId" AS "internalId",
|
||||
"member"."note" AS "note",
|
||||
"member"."firstname" AS "firstname",
|
||||
"member"."lastname" AS "lastname",
|
||||
"member"."nameaffix" AS "nameaffix",
|
||||
|
@ -277,6 +317,7 @@ export const member_view_sqlite = new View({
|
|||
SELECT
|
||||
member.id AS id,
|
||||
member.internalId AS internalId,
|
||||
member.note AS note,
|
||||
member.firstname AS firstname,
|
||||
member.lastname AS lastname,
|
||||
member.nameaffix AS nameaffix,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue