1773198650000-AddAssessmentTablesManual.ts 1.7 KB

123456789101112131415161718
  1. import { MigrationInterface, QueryRunner } from "typeorm";
  2. export class AddAssessmentTablesManual1773198650000 implements MigrationInterface {
  3. name = 'AddAssessmentTablesManual1773198650000'
  4. public async up(queryRunner: QueryRunner): Promise<void> {
  5. await queryRunner.query(`CREATE TABLE IF NOT EXISTS "assessment_sessions" ("id" varchar PRIMARY KEY NOT NULL, "user_id" varchar NOT NULL, "knowledge_base_id" varchar NOT NULL, "thread_id" varchar, "status" varchar CHECK( "status" IN ('IN_PROGRESS','COMPLETED') ) NOT NULL DEFAULT ('IN_PROGRESS'), "final_score" float, "final_report" text, "created_at" datetime NOT NULL DEFAULT (datetime('now')), "updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
  6. await queryRunner.query(`CREATE TABLE IF NOT EXISTS "assessment_questions" ("id" varchar PRIMARY KEY NOT NULL, "session_id" varchar NOT NULL, "question_text" text NOT NULL, "key_points" text, "difficulty" varchar, "created_at" datetime NOT NULL DEFAULT (datetime('now')), "updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
  7. await queryRunner.query(`CREATE TABLE IF NOT EXISTS "assessment_answers" ("id" varchar PRIMARY KEY NOT NULL, "question_id" varchar NOT NULL, "user_answer" text NOT NULL, "score" float, "feedback" text, "is_follow_up" boolean NOT NULL DEFAULT (0), "created_at" datetime NOT NULL DEFAULT (datetime('now')), "updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
  8. }
  9. public async down(queryRunner: QueryRunner): Promise<void> {
  10. await queryRunner.query(`DROP TABLE "assessment_answers"`);
  11. await queryRunner.query(`DROP TABLE "assessment_questions"`);
  12. await queryRunner.query(`DROP TABLE "assessment_sessions"`);
  13. }
  14. }