From 0e891bfb3aa1cbad492c9947ff4569aaec6ae0ec Mon Sep 17 00:00:00 2001 From: chungyau97 Date: Tue, 5 Sep 2023 16:13:04 +0800 Subject: [PATCH] preserve previous user data --- .../server/src/database/entities/ChatFlow.ts | 2 +- .../src/database/entities/ChatMessage.ts | 2 +- .../src/database/entities/Credential.ts | 2 +- packages/server/src/database/entities/Tool.ts | 4 ++-- .../migrations/mysql/1693840429259-Init.ts | 18 ++++++++--------- .../migrations/postgres/1693891895163-Init.ts | 20 +++++++++---------- .../migrations/sqlite/1693835579790-Init.ts | 10 +++++----- 7 files changed, 29 insertions(+), 29 deletions(-) diff --git a/packages/server/src/database/entities/ChatFlow.ts b/packages/server/src/database/entities/ChatFlow.ts index a4fdd1308..a1a32a88e 100644 --- a/packages/server/src/database/entities/ChatFlow.ts +++ b/packages/server/src/database/entities/ChatFlow.ts @@ -22,7 +22,7 @@ export class ChatFlow implements IChatFlow { @Column({ nullable: true }) apikeyid?: string - @Column({ nullable: true, type: 'text' }) + @Column({ nullable: true }) chatbotConfig?: string @CreateDateColumn() diff --git a/packages/server/src/database/entities/ChatMessage.ts b/packages/server/src/database/entities/ChatMessage.ts index 4b5306ee1..238048468 100644 --- a/packages/server/src/database/entities/ChatMessage.ts +++ b/packages/server/src/database/entities/ChatMessage.ts @@ -17,7 +17,7 @@ export class ChatMessage implements IChatMessage { @Column({ type: 'text' }) content: string - @Column({ nullable: true, type: 'text' }) + @Column({ nullable: true }) sourceDocuments?: string @CreateDateColumn() diff --git a/packages/server/src/database/entities/Credential.ts b/packages/server/src/database/entities/Credential.ts index 822f2584d..e77711dce 100644 --- a/packages/server/src/database/entities/Credential.ts +++ b/packages/server/src/database/entities/Credential.ts @@ -13,7 +13,7 @@ export class Credential implements ICredential { @Column() credentialName: string - @Column({ type: 'text' }) + @Column() encryptedData: string @CreateDateColumn() diff --git a/packages/server/src/database/entities/Tool.ts b/packages/server/src/database/entities/Tool.ts index 8e675eb02..d459eee3f 100644 --- a/packages/server/src/database/entities/Tool.ts +++ b/packages/server/src/database/entities/Tool.ts @@ -19,10 +19,10 @@ export class Tool implements ITool { @Column({ nullable: true }) iconSrc?: string - @Column({ nullable: true, type: 'text' }) + @Column({ nullable: true }) schema?: string - @Column({ nullable: true, type: 'text' }) + @Column({ nullable: true }) func?: string @CreateDateColumn() diff --git a/packages/server/src/database/migrations/mysql/1693840429259-Init.ts b/packages/server/src/database/migrations/mysql/1693840429259-Init.ts index 6ae611dcb..9d07206d3 100644 --- a/packages/server/src/database/migrations/mysql/1693840429259-Init.ts +++ b/packages/server/src/database/migrations/mysql/1693840429259-Init.ts @@ -3,51 +3,51 @@ import { MigrationInterface, QueryRunner } from 'typeorm' export class Init1693840429259 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( - `CREATE TABLE \`chat_flow\` ( + `CREATE TABLE IF NOT EXISTS \`chat_flow\` ( \`id\` varchar(36) NOT NULL, \`name\` varchar(255) NOT NULL, \`flowData\` text NOT NULL, \`deployed\` tinyint DEFAULT NULL, \`isPublic\` tinyint DEFAULT NULL, \`apikeyid\` varchar(255) DEFAULT NULL, - \`chatbotConfig\` text, + \`chatbotConfig\` varchar(255) DEFAULT NULL, \`createdDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), \`updatedDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), PRIMARY KEY (\`id\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;` ) await queryRunner.query( - `CREATE TABLE \`chat_message\` ( + `CREATE TABLE IF NOT EXISTS \`chat_message\` ( \`id\` varchar(36) NOT NULL, \`role\` varchar(255) NOT NULL, \`chatflowid\` varchar(255) NOT NULL, \`content\` text NOT NULL, - \`sourceDocuments\` text, + \`sourceDocuments\` varchar(255) DEFAULT NULL, \`createdDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), PRIMARY KEY (\`id\`), KEY \`IDX_e574527322272fd838f4f0f3d3\` (\`chatflowid\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;` ) await queryRunner.query( - `CREATE TABLE \`credential\` ( + `CREATE TABLE IF NOT EXISTS \`credential\` ( \`id\` varchar(36) NOT NULL, \`name\` varchar(255) NOT NULL, \`credentialName\` varchar(255) NOT NULL, - \`encryptedData\` text NOT NULL, + \`encryptedData\` varchar(255) NOT NULL, \`createdDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), \`updatedDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), PRIMARY KEY (\`id\`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;` ) await queryRunner.query( - `CREATE TABLE \`tool\` ( + `CREATE TABLE IF NOT EXISTS \`tool\` ( \`id\` varchar(36) NOT NULL, \`name\` varchar(255) NOT NULL, \`description\` text NOT NULL, \`color\` varchar(255) NOT NULL, \`iconSrc\` varchar(255) DEFAULT NULL, - \`schema\` text, - \`func\` text, + \`schema\` varchar(255) DEFAULT NULL, + \`func\` varchar(255) DEFAULT NULL, \`createdDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), \`updatedDate\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6), PRIMARY KEY (\`id\`) diff --git a/packages/server/src/database/migrations/postgres/1693891895163-Init.ts b/packages/server/src/database/migrations/postgres/1693891895163-Init.ts index defb5f877..3ffe055c6 100644 --- a/packages/server/src/database/migrations/postgres/1693891895163-Init.ts +++ b/packages/server/src/database/migrations/postgres/1693891895163-Init.ts @@ -3,51 +3,51 @@ import { MigrationInterface, QueryRunner } from 'typeorm' export class Init1693891895163 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( - `CREATE TABLE chat_flow ( + `CREATE TABLE IF NOT EXISTS 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, + "chatbotConfig" varchar 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 ( + `CREATE TABLE IF NOT EXISTS 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, + "sourceDocuments" varchar 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 INDEX IF NOT EXISTS "IDX_e574527322272fd838f4f0f3d3" ON chat_message USING btree (chatflowid);`) await queryRunner.query( - `CREATE TABLE credential ( + `CREATE TABLE IF NOT EXISTS credential ( id uuid NOT NULL DEFAULT uuid_generate_v4(), "name" varchar NOT NULL, "credentialName" varchar NOT NULL, - "encryptedData" text NOT NULL, + "encryptedData" varchar 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 ( + `CREATE TABLE IF NOT EXISTS 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, + "schema" varchar NULL, + func varchar NULL, "createdDate" timestamp NOT NULL DEFAULT now(), "updatedDate" timestamp NOT NULL DEFAULT now(), CONSTRAINT "PK_3bf5b1016a384916073184f99b7" PRIMARY KEY (id) diff --git a/packages/server/src/database/migrations/sqlite/1693835579790-Init.ts b/packages/server/src/database/migrations/sqlite/1693835579790-Init.ts index 2c1998814..04b2e660b 100644 --- a/packages/server/src/database/migrations/sqlite/1693835579790-Init.ts +++ b/packages/server/src/database/migrations/sqlite/1693835579790-Init.ts @@ -3,17 +3,17 @@ import { MigrationInterface, QueryRunner } from 'typeorm' export class Init1693835579790 implements MigrationInterface { public async up(queryRunner: QueryRunner): Promise { await queryRunner.query( - `CREATE TABLE "chat_flow" ("id" varchar PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "flowData" text NOT NULL, "deployed" boolean, "isPublic" boolean, "apikeyid" varchar, "chatbotConfig" text, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` + `CREATE TABLE IF NOT EXISTS "chat_flow" ("id" varchar PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "flowData" text NOT NULL, "deployed" boolean, "isPublic" boolean, "apikeyid" varchar, "chatbotConfig" varchar, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` ) await queryRunner.query( - `CREATE TABLE "chat_message" ("id" varchar PRIMARY KEY NOT NULL, "role" varchar NOT NULL, "chatflowid" varchar NOT NULL, "content" text NOT NULL, "sourceDocuments" text, "createdDate" datetime NOT NULL DEFAULT (datetime('now')));` + `CREATE TABLE IF NOT EXISTS "chat_message" ("id" varchar PRIMARY KEY NOT NULL, "role" varchar NOT NULL, "chatflowid" varchar NOT NULL, "content" text NOT NULL, "sourceDocuments" varchar, "createdDate" datetime NOT NULL DEFAULT (datetime('now')));` ) - await queryRunner.query(`CREATE INDEX "IDX_e574527322272fd838f4f0f3d3" ON "chat_message" ("chatflowid") ;`) + await queryRunner.query(`CREATE INDEX IF NOT EXISTS "IDX_e574527322272fd838f4f0f3d3" ON "chat_message" ("chatflowid") ;`) await queryRunner.query( - `CREATE TABLE "credential" ("id" varchar PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "credentialName" varchar NOT NULL, "encryptedData" text NOT NULL, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` + `CREATE TABLE IF NOT EXISTS "credential" ("id" varchar PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "credentialName" varchar NOT NULL, "encryptedData" varchar NOT NULL, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` ) await queryRunner.query( - `CREATE TABLE "tool" ("id" varchar PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "description" text NOT NULL, "color" varchar NOT NULL, "iconSrc" varchar, "schema" text, "func" text, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` + `CREATE TABLE IF NOT EXISTS "tool" ("id" varchar PRIMARY KEY NOT NULL, "name" varchar NOT NULL, "description" text NOT NULL, "color" varchar NOT NULL, "iconSrc" varchar, "schema" varchar, "func" varchar, "createdDate" datetime NOT NULL DEFAULT (datetime('now')), "updatedDate" datetime NOT NULL DEFAULT (datetime('now')));` ) }