saleor-apps-redis_apl/apps/invoices/scripts/migrations/v1-to-v2/restore-migration.ts
Lukasz Ostrowski 5e903aed00
Metadata Migrations script (#453)
* Create a package

* wip

* wip

* wip

* wip

* Move migration script to invoices

* Add migration script

* Update SDK to fix getAll method

* Add restoring migration script

* Add migrations consts

* Add changesets

* cr fixes
2023-05-18 14:55:52 +02:00

45 lines
1.1 KiB
TypeScript

/* eslint-disable turbo/no-undeclared-env-vars */
import * as dotenv from "dotenv";
import { fetchCloudAplEnvs, verifyRequiredEnvs } from "../migration-utils";
import { createClient } from "../../../src/lib/graphql";
import { RemoveMetadataDocument } from "../../../generated/graphql";
import { MigrationV1toV2Consts } from "./const";
dotenv.config();
const runMigration = async () => {
verifyRequiredEnvs();
const allEnvs = await fetchCloudAplEnvs();
const results = await Promise.all(
allEnvs.map((env) => {
const client = createClient(env.saleorApiUrl, async () => ({
token: env.token,
}));
return client
.mutation(RemoveMetadataDocument, {
id: env.appId,
keys: [MigrationV1toV2Consts.appConfigV2metadataKey],
})
.toPromise()
.then((r) => {
if (r.error) {
console.error("❌ Error removing metadata", r.error.message);
throw r.error.message;
}
return r;
})
.catch((e) => {
console.error("❌ Error removing metadata", e);
});
})
);
console.log(results);
};
runMigration();