import { MigrationInterface, QueryRunner } from "typeorm";

export class DraftCommentCount1737538655121 implements MigrationInterface {

    public async up(queryRunner: QueryRunner): Promise<void> {
        queryRunner.query(`CREATE OR REPLACE FUNCTION update_draft_comments_count() 
                        RETURNS TRIGGER AS $$
                        BEGIN
                            UPDATE draft 
                            SET comment_count = comment_count + 1
                            WHERE id = NEW.draft_id;
                            RETURN NEW;
                        END;
                        $$ LANGUAGE plpgsql;

                        CREATE TRIGGER draft_comments_count
                        AFTER INSERT ON draft_comments
                        FOR EACH ROW
                        EXECUTE FUNCTION update_draft_comments_count();`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
    }

}
