RenaiApp/src/main/migrations/library/1561252345968-initial_migra...

359 lines
26 KiB
TypeScript

import { MigrationInterface, QueryRunner } from 'typeorm';
// tslint:disable-next-line: class-name
export class initialMigration1561296682728 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(
`CREATE TABLE "fiction" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "character" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "copy_type" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "type" varchar NOT NULL, "comment" varchar, "copyId" integer NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "language" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "code" varchar NOT NULL, CONSTRAINT "UQ_465b3173cdddf0ac2d3fe73a33c" UNIQUE ("code"))`
);
await queryRunner.query(
`CREATE TABLE "site" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "source" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "uri" varchar NOT NULL, "siteId" integer NOT NULL, CONSTRAINT "UQ_028f4c3a05a9bfcddb95a4916b9" UNIQUE ("uri"))`
);
await queryRunner.query(
`CREATE TABLE "translator" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "copy" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "favorited" boolean NOT NULL DEFAULT (0), "isDigital" boolean NOT NULL, "originalId" integer NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "tag" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "book" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "author" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "intellectual_property" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "nameCanonical" varchar NOT NULL, "names" text NOT NULL)`
);
await queryRunner.query(
`CREATE TABLE "copy_sources_source" ("copyId" integer NOT NULL, "sourceId" integer NOT NULL, PRIMARY KEY ("copyId", "sourceId"))`
);
await queryRunner.query(`CREATE INDEX "IDX_653c33c5db26b8736e592ff3f6" ON "copy_sources_source" ("copyId") `);
await queryRunner.query(`CREATE INDEX "IDX_946af3644f779b7cc7e7eb04eb" ON "copy_sources_source" ("sourceId") `);
await queryRunner.query(
`CREATE TABLE "copy_languages_language" ("copyId" integer NOT NULL, "languageId" integer NOT NULL, PRIMARY KEY ("copyId", "languageId"))`
);
await queryRunner.query(`CREATE INDEX "IDX_056de447bd9e4b2efdf5eafe49" ON "copy_languages_language" ("copyId") `);
await queryRunner.query(
`CREATE INDEX "IDX_c6adacfab107dc725d4fb5864b" ON "copy_languages_language" ("languageId") `
);
await queryRunner.query(
`CREATE TABLE "copy_translators_translator" ("copyId" integer NOT NULL, "translatorId" integer NOT NULL, PRIMARY KEY ("copyId", "translatorId"))`
);
await queryRunner.query(
`CREATE INDEX "IDX_2a20d8eaf28ebc28438271899f" ON "copy_translators_translator" ("copyId") `
);
await queryRunner.query(
`CREATE INDEX "IDX_e19e5193f168ce07f52f15be06" ON "copy_translators_translator" ("translatorId") `
);
await queryRunner.query(
`CREATE TABLE "book_authors_author" ("bookId" integer NOT NULL, "authorId" integer NOT NULL, PRIMARY KEY ("bookId", "authorId"))`
);
await queryRunner.query(`CREATE INDEX "IDX_9bf58ffb2a12a8609a738ee8ca" ON "book_authors_author" ("bookId") `);
await queryRunner.query(`CREATE INDEX "IDX_a4cafdf2ec9974524a5321c751" ON "book_authors_author" ("authorId") `);
await queryRunner.query(
`CREATE TABLE "book_fictions_fiction" ("bookId" integer NOT NULL, "fictionId" integer NOT NULL, PRIMARY KEY ("bookId", "fictionId"))`
);
await queryRunner.query(`CREATE INDEX "IDX_893dfbd84bd3a5a62e8a0758b3" ON "book_fictions_fiction" ("bookId") `);
await queryRunner.query(`CREATE INDEX "IDX_842bd3a8cb49dc7a92058b7f7a" ON "book_fictions_fiction" ("fictionId") `);
await queryRunner.query(
`CREATE TABLE "book_characters_character" ("bookId" integer NOT NULL, "characterId" integer NOT NULL, PRIMARY KEY ("bookId", "characterId"))`
);
await queryRunner.query(`CREATE INDEX "IDX_261dcea7cb50a485906440f91f" ON "book_characters_character" ("bookId") `);
await queryRunner.query(
`CREATE INDEX "IDX_51615a52cc3ef773766afbcc43" ON "book_characters_character" ("characterId") `
);
await queryRunner.query(
`CREATE TABLE "book_tags_tag" ("bookId" integer NOT NULL, "tagId" integer NOT NULL, PRIMARY KEY ("bookId", "tagId"))`
);
await queryRunner.query(`CREATE INDEX "IDX_918a7b7552fe5fd66f328d4fe8" ON "book_tags_tag" ("bookId") `);
await queryRunner.query(`CREATE INDEX "IDX_5274aca0a1468ed55afdfaba24" ON "book_tags_tag" ("tagId") `);
await queryRunner.query(
`CREATE TABLE "temporary_copy_type" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "type" varchar NOT NULL, "comment" varchar, "copyId" integer NOT NULL, CONSTRAINT "FK_156b15213d57b5dbbbc33e94050" FOREIGN KEY ("copyId") REFERENCES "copy" ("id") ON DELETE CASCADE ON UPDATE CASCADE)`
);
await queryRunner.query(
`INSERT INTO "temporary_copy_type"("id", "type", "comment", "copyId") SELECT "id", "type", "comment", "copyId" FROM "copy_type"`
);
await queryRunner.query(`DROP TABLE "copy_type"`);
await queryRunner.query(`ALTER TABLE "temporary_copy_type" RENAME TO "copy_type"`);
await queryRunner.query(
`CREATE TABLE "temporary_source" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "uri" varchar NOT NULL, "siteId" integer NOT NULL, CONSTRAINT "UQ_028f4c3a05a9bfcddb95a4916b9" UNIQUE ("uri"), CONSTRAINT "FK_73b253e679f350d140bdb104e49" FOREIGN KEY ("siteId") REFERENCES "site" ("id") ON DELETE CASCADE ON UPDATE CASCADE)`
);
await queryRunner.query(
`INSERT INTO "temporary_source"("id", "uri", "siteId") SELECT "id", "uri", "siteId" FROM "source"`
);
await queryRunner.query(`DROP TABLE "source"`);
await queryRunner.query(`ALTER TABLE "temporary_source" RENAME TO "source"`);
await queryRunner.query(
`CREATE TABLE "temporary_copy" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "favorited" boolean NOT NULL DEFAULT (0), "isDigital" boolean NOT NULL, "originalId" integer NOT NULL, CONSTRAINT "FK_e8ce0011cf0a8b9fdc8ad908a44" FOREIGN KEY ("originalId") REFERENCES "book" ("id") ON DELETE CASCADE ON UPDATE CASCADE)`
);
await queryRunner.query(
`INSERT INTO "temporary_copy"("id", "favorited", "isDigital", "originalId") SELECT "id", "favorited", "isDigital", "originalId" FROM "copy"`
);
await queryRunner.query(`DROP TABLE "copy"`);
await queryRunner.query(`ALTER TABLE "temporary_copy" RENAME TO "copy"`);
await queryRunner.query(`DROP INDEX "IDX_653c33c5db26b8736e592ff3f6"`);
await queryRunner.query(`DROP INDEX "IDX_946af3644f779b7cc7e7eb04eb"`);
await queryRunner.query(
`CREATE TABLE "temporary_copy_sources_source" ("copyId" integer NOT NULL, "sourceId" integer NOT NULL, CONSTRAINT "FK_653c33c5db26b8736e592ff3f65" FOREIGN KEY ("copyId") REFERENCES "copy" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_946af3644f779b7cc7e7eb04eb7" FOREIGN KEY ("sourceId") REFERENCES "source" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("copyId", "sourceId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_copy_sources_source"("copyId", "sourceId") SELECT "copyId", "sourceId" FROM "copy_sources_source"`
);
await queryRunner.query(`DROP TABLE "copy_sources_source"`);
await queryRunner.query(`ALTER TABLE "temporary_copy_sources_source" RENAME TO "copy_sources_source"`);
await queryRunner.query(`CREATE INDEX "IDX_653c33c5db26b8736e592ff3f6" ON "copy_sources_source" ("copyId") `);
await queryRunner.query(`CREATE INDEX "IDX_946af3644f779b7cc7e7eb04eb" ON "copy_sources_source" ("sourceId") `);
await queryRunner.query(`DROP INDEX "IDX_056de447bd9e4b2efdf5eafe49"`);
await queryRunner.query(`DROP INDEX "IDX_c6adacfab107dc725d4fb5864b"`);
await queryRunner.query(
`CREATE TABLE "temporary_copy_languages_language" ("copyId" integer NOT NULL, "languageId" integer NOT NULL, CONSTRAINT "FK_056de447bd9e4b2efdf5eafe497" FOREIGN KEY ("copyId") REFERENCES "copy" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_c6adacfab107dc725d4fb5864be" FOREIGN KEY ("languageId") REFERENCES "language" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("copyId", "languageId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_copy_languages_language"("copyId", "languageId") SELECT "copyId", "languageId" FROM "copy_languages_language"`
);
await queryRunner.query(`DROP TABLE "copy_languages_language"`);
await queryRunner.query(`ALTER TABLE "temporary_copy_languages_language" RENAME TO "copy_languages_language"`);
await queryRunner.query(`CREATE INDEX "IDX_056de447bd9e4b2efdf5eafe49" ON "copy_languages_language" ("copyId") `);
await queryRunner.query(
`CREATE INDEX "IDX_c6adacfab107dc725d4fb5864b" ON "copy_languages_language" ("languageId") `
);
await queryRunner.query(`DROP INDEX "IDX_2a20d8eaf28ebc28438271899f"`);
await queryRunner.query(`DROP INDEX "IDX_e19e5193f168ce07f52f15be06"`);
await queryRunner.query(
`CREATE TABLE "temporary_copy_translators_translator" ("copyId" integer NOT NULL, "translatorId" integer NOT NULL, CONSTRAINT "FK_2a20d8eaf28ebc28438271899f5" FOREIGN KEY ("copyId") REFERENCES "copy" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_e19e5193f168ce07f52f15be068" FOREIGN KEY ("translatorId") REFERENCES "translator" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("copyId", "translatorId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_copy_translators_translator"("copyId", "translatorId") SELECT "copyId", "translatorId" FROM "copy_translators_translator"`
);
await queryRunner.query(`DROP TABLE "copy_translators_translator"`);
await queryRunner.query(
`ALTER TABLE "temporary_copy_translators_translator" RENAME TO "copy_translators_translator"`
);
await queryRunner.query(
`CREATE INDEX "IDX_2a20d8eaf28ebc28438271899f" ON "copy_translators_translator" ("copyId") `
);
await queryRunner.query(
`CREATE INDEX "IDX_e19e5193f168ce07f52f15be06" ON "copy_translators_translator" ("translatorId") `
);
await queryRunner.query(`DROP INDEX "IDX_9bf58ffb2a12a8609a738ee8ca"`);
await queryRunner.query(`DROP INDEX "IDX_a4cafdf2ec9974524a5321c751"`);
await queryRunner.query(
`CREATE TABLE "temporary_book_authors_author" ("bookId" integer NOT NULL, "authorId" integer NOT NULL, CONSTRAINT "FK_9bf58ffb2a12a8609a738ee8cae" FOREIGN KEY ("bookId") REFERENCES "book" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_a4cafdf2ec9974524a5321c7516" FOREIGN KEY ("authorId") REFERENCES "author" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("bookId", "authorId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_book_authors_author"("bookId", "authorId") SELECT "bookId", "authorId" FROM "book_authors_author"`
);
await queryRunner.query(`DROP TABLE "book_authors_author"`);
await queryRunner.query(`ALTER TABLE "temporary_book_authors_author" RENAME TO "book_authors_author"`);
await queryRunner.query(`CREATE INDEX "IDX_9bf58ffb2a12a8609a738ee8ca" ON "book_authors_author" ("bookId") `);
await queryRunner.query(`CREATE INDEX "IDX_a4cafdf2ec9974524a5321c751" ON "book_authors_author" ("authorId") `);
await queryRunner.query(`DROP INDEX "IDX_893dfbd84bd3a5a62e8a0758b3"`);
await queryRunner.query(`DROP INDEX "IDX_842bd3a8cb49dc7a92058b7f7a"`);
await queryRunner.query(
`CREATE TABLE "temporary_book_fictions_fiction" ("bookId" integer NOT NULL, "fictionId" integer NOT NULL, CONSTRAINT "FK_893dfbd84bd3a5a62e8a0758b3f" FOREIGN KEY ("bookId") REFERENCES "book" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_842bd3a8cb49dc7a92058b7f7aa" FOREIGN KEY ("fictionId") REFERENCES "fiction" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("bookId", "fictionId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_book_fictions_fiction"("bookId", "fictionId") SELECT "bookId", "fictionId" FROM "book_fictions_fiction"`
);
await queryRunner.query(`DROP TABLE "book_fictions_fiction"`);
await queryRunner.query(`ALTER TABLE "temporary_book_fictions_fiction" RENAME TO "book_fictions_fiction"`);
await queryRunner.query(`CREATE INDEX "IDX_893dfbd84bd3a5a62e8a0758b3" ON "book_fictions_fiction" ("bookId") `);
await queryRunner.query(`CREATE INDEX "IDX_842bd3a8cb49dc7a92058b7f7a" ON "book_fictions_fiction" ("fictionId") `);
await queryRunner.query(`DROP INDEX "IDX_261dcea7cb50a485906440f91f"`);
await queryRunner.query(`DROP INDEX "IDX_51615a52cc3ef773766afbcc43"`);
await queryRunner.query(
`CREATE TABLE "temporary_book_characters_character" ("bookId" integer NOT NULL, "characterId" integer NOT NULL, CONSTRAINT "FK_261dcea7cb50a485906440f91f8" FOREIGN KEY ("bookId") REFERENCES "book" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_51615a52cc3ef773766afbcc433" FOREIGN KEY ("characterId") REFERENCES "character" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("bookId", "characterId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_book_characters_character"("bookId", "characterId") SELECT "bookId", "characterId" FROM "book_characters_character"`
);
await queryRunner.query(`DROP TABLE "book_characters_character"`);
await queryRunner.query(`ALTER TABLE "temporary_book_characters_character" RENAME TO "book_characters_character"`);
await queryRunner.query(`CREATE INDEX "IDX_261dcea7cb50a485906440f91f" ON "book_characters_character" ("bookId") `);
await queryRunner.query(
`CREATE INDEX "IDX_51615a52cc3ef773766afbcc43" ON "book_characters_character" ("characterId") `
);
await queryRunner.query(`DROP INDEX "IDX_918a7b7552fe5fd66f328d4fe8"`);
await queryRunner.query(`DROP INDEX "IDX_5274aca0a1468ed55afdfaba24"`);
await queryRunner.query(
`CREATE TABLE "temporary_book_tags_tag" ("bookId" integer NOT NULL, "tagId" integer NOT NULL, CONSTRAINT "FK_918a7b7552fe5fd66f328d4fe84" FOREIGN KEY ("bookId") REFERENCES "book" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, CONSTRAINT "FK_5274aca0a1468ed55afdfaba244" FOREIGN KEY ("tagId") REFERENCES "tag" ("id") ON DELETE CASCADE ON UPDATE NO ACTION, PRIMARY KEY ("bookId", "tagId"))`
);
await queryRunner.query(
`INSERT INTO "temporary_book_tags_tag"("bookId", "tagId") SELECT "bookId", "tagId" FROM "book_tags_tag"`
);
await queryRunner.query(`DROP TABLE "book_tags_tag"`);
await queryRunner.query(`ALTER TABLE "temporary_book_tags_tag" RENAME TO "book_tags_tag"`);
await queryRunner.query(`CREATE INDEX "IDX_918a7b7552fe5fd66f328d4fe8" ON "book_tags_tag" ("bookId") `);
await queryRunner.query(`CREATE INDEX "IDX_5274aca0a1468ed55afdfaba24" ON "book_tags_tag" ("tagId") `);
}
public async down(queryRunner: QueryRunner): Promise<any> {
await queryRunner.query(`DROP INDEX "IDX_5274aca0a1468ed55afdfaba24"`);
await queryRunner.query(`DROP INDEX "IDX_918a7b7552fe5fd66f328d4fe8"`);
await queryRunner.query(`ALTER TABLE "book_tags_tag" RENAME TO "temporary_book_tags_tag"`);
await queryRunner.query(
`CREATE TABLE "book_tags_tag" ("bookId" integer NOT NULL, "tagId" integer NOT NULL, PRIMARY KEY ("bookId", "tagId"))`
);
await queryRunner.query(
`INSERT INTO "book_tags_tag"("bookId", "tagId") SELECT "bookId", "tagId" FROM "temporary_book_tags_tag"`
);
await queryRunner.query(`DROP TABLE "temporary_book_tags_tag"`);
await queryRunner.query(`CREATE INDEX "IDX_5274aca0a1468ed55afdfaba24" ON "book_tags_tag" ("tagId") `);
await queryRunner.query(`CREATE INDEX "IDX_918a7b7552fe5fd66f328d4fe8" ON "book_tags_tag" ("bookId") `);
await queryRunner.query(`DROP INDEX "IDX_51615a52cc3ef773766afbcc43"`);
await queryRunner.query(`DROP INDEX "IDX_261dcea7cb50a485906440f91f"`);
await queryRunner.query(`ALTER TABLE "book_characters_character" RENAME TO "temporary_book_characters_character"`);
await queryRunner.query(
`CREATE TABLE "book_characters_character" ("bookId" integer NOT NULL, "characterId" integer NOT NULL, PRIMARY KEY ("bookId", "characterId"))`
);
await queryRunner.query(
`INSERT INTO "book_characters_character"("bookId", "characterId") SELECT "bookId", "characterId" FROM "temporary_book_characters_character"`
);
await queryRunner.query(`DROP TABLE "temporary_book_characters_character"`);
await queryRunner.query(
`CREATE INDEX "IDX_51615a52cc3ef773766afbcc43" ON "book_characters_character" ("characterId") `
);
await queryRunner.query(`CREATE INDEX "IDX_261dcea7cb50a485906440f91f" ON "book_characters_character" ("bookId") `);
await queryRunner.query(`DROP INDEX "IDX_842bd3a8cb49dc7a92058b7f7a"`);
await queryRunner.query(`DROP INDEX "IDX_893dfbd84bd3a5a62e8a0758b3"`);
await queryRunner.query(`ALTER TABLE "book_fictions_fiction" RENAME TO "temporary_book_fictions_fiction"`);
await queryRunner.query(
`CREATE TABLE "book_fictions_fiction" ("bookId" integer NOT NULL, "fictionId" integer NOT NULL, PRIMARY KEY ("bookId", "fictionId"))`
);
await queryRunner.query(
`INSERT INTO "book_fictions_fiction"("bookId", "fictionId") SELECT "bookId", "fictionId" FROM "temporary_book_fictions_fiction"`
);
await queryRunner.query(`DROP TABLE "temporary_book_fictions_fiction"`);
await queryRunner.query(`CREATE INDEX "IDX_842bd3a8cb49dc7a92058b7f7a" ON "book_fictions_fiction" ("fictionId") `);
await queryRunner.query(`CREATE INDEX "IDX_893dfbd84bd3a5a62e8a0758b3" ON "book_fictions_fiction" ("bookId") `);
await queryRunner.query(`DROP INDEX "IDX_a4cafdf2ec9974524a5321c751"`);
await queryRunner.query(`DROP INDEX "IDX_9bf58ffb2a12a8609a738ee8ca"`);
await queryRunner.query(`ALTER TABLE "book_authors_author" RENAME TO "temporary_book_authors_author"`);
await queryRunner.query(
`CREATE TABLE "book_authors_author" ("bookId" integer NOT NULL, "authorId" integer NOT NULL, PRIMARY KEY ("bookId", "authorId"))`
);
await queryRunner.query(
`INSERT INTO "book_authors_author"("bookId", "authorId") SELECT "bookId", "authorId" FROM "temporary_book_authors_author"`
);
await queryRunner.query(`DROP TABLE "temporary_book_authors_author"`);
await queryRunner.query(`CREATE INDEX "IDX_a4cafdf2ec9974524a5321c751" ON "book_authors_author" ("authorId") `);
await queryRunner.query(`CREATE INDEX "IDX_9bf58ffb2a12a8609a738ee8ca" ON "book_authors_author" ("bookId") `);
await queryRunner.query(`DROP INDEX "IDX_e19e5193f168ce07f52f15be06"`);
await queryRunner.query(`DROP INDEX "IDX_2a20d8eaf28ebc28438271899f"`);
await queryRunner.query(
`ALTER TABLE "copy_translators_translator" RENAME TO "temporary_copy_translators_translator"`
);
await queryRunner.query(
`CREATE TABLE "copy_translators_translator" ("copyId" integer NOT NULL, "translatorId" integer NOT NULL, PRIMARY KEY ("copyId", "translatorId"))`
);
await queryRunner.query(
`INSERT INTO "copy_translators_translator"("copyId", "translatorId") SELECT "copyId", "translatorId" FROM "temporary_copy_translators_translator"`
);
await queryRunner.query(`DROP TABLE "temporary_copy_translators_translator"`);
await queryRunner.query(
`CREATE INDEX "IDX_e19e5193f168ce07f52f15be06" ON "copy_translators_translator" ("translatorId") `
);
await queryRunner.query(
`CREATE INDEX "IDX_2a20d8eaf28ebc28438271899f" ON "copy_translators_translator" ("copyId") `
);
await queryRunner.query(`DROP INDEX "IDX_c6adacfab107dc725d4fb5864b"`);
await queryRunner.query(`DROP INDEX "IDX_056de447bd9e4b2efdf5eafe49"`);
await queryRunner.query(`ALTER TABLE "copy_languages_language" RENAME TO "temporary_copy_languages_language"`);
await queryRunner.query(
`CREATE TABLE "copy_languages_language" ("copyId" integer NOT NULL, "languageId" integer NOT NULL, PRIMARY KEY ("copyId", "languageId"))`
);
await queryRunner.query(
`INSERT INTO "copy_languages_language"("copyId", "languageId") SELECT "copyId", "languageId" FROM "temporary_copy_languages_language"`
);
await queryRunner.query(`DROP TABLE "temporary_copy_languages_language"`);
await queryRunner.query(
`CREATE INDEX "IDX_c6adacfab107dc725d4fb5864b" ON "copy_languages_language" ("languageId") `
);
await queryRunner.query(`CREATE INDEX "IDX_056de447bd9e4b2efdf5eafe49" ON "copy_languages_language" ("copyId") `);
await queryRunner.query(`DROP INDEX "IDX_946af3644f779b7cc7e7eb04eb"`);
await queryRunner.query(`DROP INDEX "IDX_653c33c5db26b8736e592ff3f6"`);
await queryRunner.query(`ALTER TABLE "copy_sources_source" RENAME TO "temporary_copy_sources_source"`);
await queryRunner.query(
`CREATE TABLE "copy_sources_source" ("copyId" integer NOT NULL, "sourceId" integer NOT NULL, PRIMARY KEY ("copyId", "sourceId"))`
);
await queryRunner.query(
`INSERT INTO "copy_sources_source"("copyId", "sourceId") SELECT "copyId", "sourceId" FROM "temporary_copy_sources_source"`
);
await queryRunner.query(`DROP TABLE "temporary_copy_sources_source"`);
await queryRunner.query(`CREATE INDEX "IDX_946af3644f779b7cc7e7eb04eb" ON "copy_sources_source" ("sourceId") `);
await queryRunner.query(`CREATE INDEX "IDX_653c33c5db26b8736e592ff3f6" ON "copy_sources_source" ("copyId") `);
await queryRunner.query(`ALTER TABLE "copy" RENAME TO "temporary_copy"`);
await queryRunner.query(
`CREATE TABLE "copy" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "favorited" boolean NOT NULL DEFAULT (0), "isDigital" boolean NOT NULL, "originalId" integer NOT NULL)`
);
await queryRunner.query(
`INSERT INTO "copy"("id", "favorited", "isDigital", "originalId") SELECT "id", "favorited", "isDigital", "originalId" FROM "temporary_copy"`
);
await queryRunner.query(`DROP TABLE "temporary_copy"`);
await queryRunner.query(`ALTER TABLE "source" RENAME TO "temporary_source"`);
await queryRunner.query(
`CREATE TABLE "source" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "uri" varchar NOT NULL, "siteId" integer NOT NULL, CONSTRAINT "UQ_028f4c3a05a9bfcddb95a4916b9" UNIQUE ("uri"))`
);
await queryRunner.query(
`INSERT INTO "source"("id", "uri", "siteId") SELECT "id", "uri", "siteId" FROM "temporary_source"`
);
await queryRunner.query(`DROP TABLE "temporary_source"`);
await queryRunner.query(`ALTER TABLE "copy_type" RENAME TO "temporary_copy_type"`);
await queryRunner.query(
`CREATE TABLE "copy_type" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "type" varchar NOT NULL, "comment" varchar, "copyId" integer NOT NULL)`
);
await queryRunner.query(
`INSERT INTO "copy_type"("id", "type", "comment", "copyId") SELECT "id", "type", "comment", "copyId" FROM "temporary_copy_type"`
);
await queryRunner.query(`DROP TABLE "temporary_copy_type"`);
await queryRunner.query(`DROP INDEX "IDX_5274aca0a1468ed55afdfaba24"`);
await queryRunner.query(`DROP INDEX "IDX_918a7b7552fe5fd66f328d4fe8"`);
await queryRunner.query(`DROP TABLE "book_tags_tag"`);
await queryRunner.query(`DROP INDEX "IDX_51615a52cc3ef773766afbcc43"`);
await queryRunner.query(`DROP INDEX "IDX_261dcea7cb50a485906440f91f"`);
await queryRunner.query(`DROP TABLE "book_characters_character"`);
await queryRunner.query(`DROP INDEX "IDX_842bd3a8cb49dc7a92058b7f7a"`);
await queryRunner.query(`DROP INDEX "IDX_893dfbd84bd3a5a62e8a0758b3"`);
await queryRunner.query(`DROP TABLE "book_fictions_fiction"`);
await queryRunner.query(`DROP INDEX "IDX_a4cafdf2ec9974524a5321c751"`);
await queryRunner.query(`DROP INDEX "IDX_9bf58ffb2a12a8609a738ee8ca"`);
await queryRunner.query(`DROP TABLE "book_authors_author"`);
await queryRunner.query(`DROP INDEX "IDX_e19e5193f168ce07f52f15be06"`);
await queryRunner.query(`DROP INDEX "IDX_2a20d8eaf28ebc28438271899f"`);
await queryRunner.query(`DROP TABLE "copy_translators_translator"`);
await queryRunner.query(`DROP INDEX "IDX_c6adacfab107dc725d4fb5864b"`);
await queryRunner.query(`DROP INDEX "IDX_056de447bd9e4b2efdf5eafe49"`);
await queryRunner.query(`DROP TABLE "copy_languages_language"`);
await queryRunner.query(`DROP INDEX "IDX_946af3644f779b7cc7e7eb04eb"`);
await queryRunner.query(`DROP INDEX "IDX_653c33c5db26b8736e592ff3f6"`);
await queryRunner.query(`DROP TABLE "copy_sources_source"`);
await queryRunner.query(`DROP TABLE "intellectual_property"`);
await queryRunner.query(`DROP TABLE "author"`);
await queryRunner.query(`DROP TABLE "book"`);
await queryRunner.query(`DROP TABLE "tag"`);
await queryRunner.query(`DROP TABLE "copy"`);
await queryRunner.query(`DROP TABLE "translator"`);
await queryRunner.query(`DROP TABLE "source"`);
await queryRunner.query(`DROP TABLE "site"`);
await queryRunner.query(`DROP TABLE "language"`);
await queryRunner.query(`DROP TABLE "copy_type"`);
await queryRunner.query(`DROP TABLE "character"`);
await queryRunner.query(`DROP TABLE "fiction"`);
}
}