import { MigrationInterface, QueryRunner } from 'typeorm';

export class addPollTables1654600263173 implements MigrationInterface {
  name = 'addPollTables1654600263173';

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`SET FOREIGN_KEY_CHECKS=0;`);

    await queryRunner.query(`CREATE TABLE IF NOT EXISTS \`polls\` (
        \`id\` INT(11) NOT NULL AUTO_INCREMENT,
        \`userId\` CHAR(36) NOT NULL,
        \`orderId\` INT(11) NOT NULL,
        \`isService\` TINYINT(4) NOT NULL DEFAULT 1,
        \`star\` INT(11) NOT NULL DEFAULT 5,
        \`positiveItems\` TEXT NULL DEFAULT NULL,
        \`negativeItems\` TEXT NULL DEFAULT NULL,
        \`comment\` TEXT NULL DEFAULT NULL,
        \`createdAt\` DATETIME NOT NULL,
        \`updatedAt\` DATETIME NULL DEFAULT NULL,
        PRIMARY KEY (\`id\`),
        INDEX \`fk_polls_orders1_idx\` (\`orderId\` ASC),
        CONSTRAINT \`fk_polls_orders1\`
          FOREIGN KEY (\`orderId\`)
          REFERENCES \`orders\` (\`id\`)
          ON DELETE NO ACTION
          ON UPDATE NO ACTION)
      ENGINE = InnoDB
      DEFAULT CHARACTER SET = utf8
      COLLATE = utf8_unicode_ci;`);

    await queryRunner.query(`CREATE TABLE IF NOT EXISTS \`poll_items\` (
        \`id\` INT(11) NOT NULL AUTO_INCREMENT,
        \`title\` VARCHAR(45) NOT NULL,
        \`isSatisfied\` TINYINT(4) NOT NULL DEFAULT 1,
        \`isService\` TINYINT(4) NOT NULL DEFAULT 1,
        PRIMARY KEY (\`id\`))
      ENGINE = InnoDB
      DEFAULT CHARACTER SET = utf8
      COLLATE = utf8_unicode_ci;`);

    await queryRunner.query(`SET FOREIGN_KEY_CHECKS=1;`);
  }

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