1669636497932-remove-date-indexes.ts 1.3 KB

12345678910111213141516171819202122232425262728
  1. import { MigrationInterface, QueryRunner } from 'typeorm'
  2. export class removeDateIndexes1669636497932 implements MigrationInterface {
  3. name = 'removeDateIndexes1669636497932'
  4. public async up(queryRunner: QueryRunner): Promise<void> {
  5. const indexRevisionsOnCreatedAt = await queryRunner.manager.query(
  6. 'SHOW INDEX FROM `revisions_revisions` where `key_name` = "created_at"',
  7. )
  8. const indexRevisionsOnCreatedAtExist = indexRevisionsOnCreatedAt && indexRevisionsOnCreatedAt.length > 0
  9. if (indexRevisionsOnCreatedAtExist) {
  10. await queryRunner.query('DROP INDEX `created_at` ON `revisions_revisions`')
  11. }
  12. const indexRevisionsOnCreationDate = await queryRunner.manager.query(
  13. 'SHOW INDEX FROM `revisions_revisions` where `key_name` = "creation_date"',
  14. )
  15. const indexRevisionsOnCreationDateAtExist = indexRevisionsOnCreationDate && indexRevisionsOnCreationDate.length > 0
  16. if (indexRevisionsOnCreationDateAtExist) {
  17. await queryRunner.query('DROP INDEX `creation_date` ON `revisions_revisions`')
  18. }
  19. }
  20. public async down(queryRunner: QueryRunner): Promise<void> {
  21. await queryRunner.query('CREATE INDEX `creation_date` ON `revisions_revisions` (`creation_date`)')
  22. await queryRunner.query('CREATE INDEX `created_at` ON `revisions_revisions` (`created_at`)')
  23. }
  24. }