fix(medusa): Add migration ensuring correct state of BatchJob model (#1825)
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@medusajs/medusa": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
- Add migration that ensures the correct state of the batch job table regardless of previous migrations
|
||||||
@@ -5,7 +5,7 @@ export class addBatchJobModel1649775522087 implements MigrationInterface {
|
|||||||
|
|
||||||
public async up(queryRunner: QueryRunner): Promise<void> {
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
await queryRunner.query(
|
await queryRunner.query(
|
||||||
`CREATE TABLE "batch_job"
|
`CREATE TABLE "batch_job"
|
||||||
(
|
(
|
||||||
"id" character varying NOT NULL,
|
"id" character varying NOT NULL,
|
||||||
"type" text NOT NULL,
|
"type" text NOT NULL,
|
||||||
@@ -27,16 +27,16 @@ export class addBatchJobModel1649775522087 implements MigrationInterface {
|
|||||||
)
|
)
|
||||||
|
|
||||||
await queryRunner.query(
|
await queryRunner.query(
|
||||||
`ALTER TABLE "batch_job"
|
`ALTER TABLE "batch_job"
|
||||||
ADD CONSTRAINT "FK_fa53ca4f5fd90605b532802a626" FOREIGN KEY ("created_by") REFERENCES "user" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION`
|
ADD CONSTRAINT "FK_fa53ca4f5fd90605b532802a626" FOREIGN KEY ("created_by") REFERENCES "user" ("id") ON DELETE NO ACTION ON UPDATE NO ACTION`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
public async down(queryRunner: QueryRunner): Promise<void> {
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
await queryRunner.query(
|
await queryRunner.query(
|
||||||
`ALTER TABLE "batch_job"
|
`ALTER TABLE "batch_job"
|
||||||
DROP CONSTRAINT "FK_fa53ca4f5fd90605b532802a626"`
|
DROP CONSTRAINT "FK_fa53ca4f5fd90605b532802a626"`
|
||||||
)
|
)
|
||||||
await queryRunner.query(`DROP TABLE "batch_job"`)
|
await queryRunner.query(`DROP TABLE "batch_job"`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
import { MigrationInterface, QueryRunner } from "typeorm"
|
||||||
|
|
||||||
|
export class extendedBatchJob1657267320181 implements MigrationInterface {
|
||||||
|
name = "extendedBatchJob1657267320181"
|
||||||
|
|
||||||
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
// check if batch job table exists and status column exists
|
||||||
|
// if that's the case, the previous migration has already been run
|
||||||
|
const batchJobColumnStatusExists = await queryRunner.query(`
|
||||||
|
SELECT exists (
|
||||||
|
SELECT FROM information_schema.columns
|
||||||
|
WHERE table_name = 'batch_job'
|
||||||
|
AND column_name = 'status'
|
||||||
|
)`)
|
||||||
|
|
||||||
|
// if the table exists, we alter the table to add the new columns
|
||||||
|
if (batchJobColumnStatusExists[0].exists) {
|
||||||
|
await queryRunner.query(`
|
||||||
|
ALTER TABLE "batch_job" DROP COLUMN "status";
|
||||||
|
DROP TYPE "public"."batch_job_status_enum";
|
||||||
|
ALTER TABLE "batch_job" ADD "dry_run" boolean NOT NULL DEFAULT false;
|
||||||
|
ALTER TABLE "batch_job" ADD "pre_processed_at" TIMESTAMP WITH TIME ZONE;
|
||||||
|
ALTER TABLE "batch_job" ADD "processing_at" TIMESTAMP WITH TIME ZONE;
|
||||||
|
ALTER TABLE "batch_job" ADD "confirmed_at" TIMESTAMP WITH TIME ZONE;
|
||||||
|
ALTER TABLE "batch_job" ADD "completed_at" TIMESTAMP WITH TIME ZONE;
|
||||||
|
ALTER TABLE "batch_job" ADD "canceled_at" TIMESTAMP WITH TIME ZONE;
|
||||||
|
ALTER TABLE "batch_job" ADD "failed_at" TIMESTAMP WITH TIME ZONE;
|
||||||
|
ALTER TABLE "batch_job" DROP COLUMN "created_by";
|
||||||
|
ALTER TABLE "batch_job" ADD "created_by" character varying;
|
||||||
|
ALTER TABLE "batch_job" ADD CONSTRAINT "FK_cdf30493ba1c9ef207e1e80c10a" FOREIGN KEY ("created_by") REFERENCES "user"("id") ON DELETE NO ACTION ON UPDATE NO ACTION;
|
||||||
|
`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async down(queryRunner: QueryRunner): Promise<void> {
|
||||||
|
void 0
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user