From ae66f163de47c69209e517bef3bc0309c8918441 Mon Sep 17 00:00:00 2001 From: chungyau97 Date: Tue, 5 Sep 2023 13:49:50 +0800 Subject: [PATCH] add postgresMigrations --- packages/server/src/DataSource.ts | 3 +- .../migrations/postgres/1693891895163-Init.ts | 64 +++++++++++++++++++ .../src/database/migrations/postgres/index.ts | 3 + 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 packages/server/src/database/migrations/postgres/1693891895163-Init.ts create mode 100644 packages/server/src/database/migrations/postgres/index.ts diff --git a/packages/server/src/DataSource.ts b/packages/server/src/DataSource.ts index 6f8e56fd..9265e55f 100644 --- a/packages/server/src/DataSource.ts +++ b/packages/server/src/DataSource.ts @@ -5,6 +5,7 @@ import { getUserHome } from './utils' import { entities } from './database/entities' import { sqliteMigrations } from './database/migrations/sqlite' import { mysqlMigrations } from './database/migrations/mysql' +import { postgresMigrations } from './database/migrations/postgres' let appDataSource: DataSource @@ -48,7 +49,7 @@ export const init = async (): Promise => { synchronize: false, migrationsRun: false, entities: Object.values(entities), - migrations: [] + migrations: postgresMigrations }) break default: diff --git a/packages/server/src/database/migrations/postgres/1693891895163-Init.ts b/packages/server/src/database/migrations/postgres/1693891895163-Init.ts new file mode 100644 index 00000000..defb5f87 --- /dev/null +++ b/packages/server/src/database/migrations/postgres/1693891895163-Init.ts @@ -0,0 +1,64 @@ +import { MigrationInterface, QueryRunner } from 'typeorm' + +export class Init1693891895163 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TABLE chat_flow ( + id uuid NOT NULL DEFAULT uuid_generate_v4(), + "name" varchar NOT NULL, + "flowData" text NOT NULL, + deployed bool NULL, + "isPublic" bool NULL, + apikeyid varchar NULL, + "chatbotConfig" text NULL, + "createdDate" timestamp NOT NULL DEFAULT now(), + "updatedDate" timestamp NOT NULL DEFAULT now(), + CONSTRAINT "PK_3c7cea7d047ac4b91764574cdbf" PRIMARY KEY (id) + );` + ) + await queryRunner.query( + `CREATE TABLE chat_message ( + id uuid NOT NULL DEFAULT uuid_generate_v4(), + "role" varchar NOT NULL, + chatflowid varchar NOT NULL, + "content" text NOT NULL, + "sourceDocuments" text NULL, + "createdDate" timestamp NOT NULL DEFAULT now(), + CONSTRAINT "PK_3cc0d85193aade457d3077dd06b" PRIMARY KEY (id) + );` + ) + await queryRunner.query(`CREATE INDEX "IDX_e574527322272fd838f4f0f3d3" ON chat_message USING btree (chatflowid);`) + await queryRunner.query( + `CREATE TABLE credential ( + id uuid NOT NULL DEFAULT uuid_generate_v4(), + "name" varchar NOT NULL, + "credentialName" varchar NOT NULL, + "encryptedData" text NOT NULL, + "createdDate" timestamp NOT NULL DEFAULT now(), + "updatedDate" timestamp NOT NULL DEFAULT now(), + CONSTRAINT "PK_3a5169bcd3d5463cefeec78be82" PRIMARY KEY (id) + );` + ) + await queryRunner.query( + `CREATE TABLE tool ( + id uuid NOT NULL DEFAULT uuid_generate_v4(), + "name" varchar NOT NULL, + description text NOT NULL, + color varchar NOT NULL, + "iconSrc" varchar NULL, + "schema" text NULL, + func text NULL, + "createdDate" timestamp NOT NULL DEFAULT now(), + "updatedDate" timestamp NOT NULL DEFAULT now(), + CONSTRAINT "PK_3bf5b1016a384916073184f99b7" PRIMARY KEY (id) + );` + ) + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`DROP TABLE chat_flow`) + await queryRunner.query(`DROP TABLE chat_message`) + await queryRunner.query(`DROP TABLE credential`) + await queryRunner.query(`DROP TABLE tool`) + } +} diff --git a/packages/server/src/database/migrations/postgres/index.ts b/packages/server/src/database/migrations/postgres/index.ts new file mode 100644 index 00000000..c8805785 --- /dev/null +++ b/packages/server/src/database/migrations/postgres/index.ts @@ -0,0 +1,3 @@ +import { Init1693891895163 } from './1693891895163-Init' + +export const postgresMigrations = [Init1693891895163]