chore(modules-sdk, medusa): Cleanup migration helpers (#7342)

**What**
Cleanup the migrations scripts
This commit is contained in:
Adrien de Peretti
2024-05-15 17:52:26 +02:00
committed by GitHub
parent 17486cda99
commit ec5415ea1a
3 changed files with 78 additions and 38 deletions
+8 -8
View File
@@ -389,15 +389,15 @@ async function MedusaApp_({
}
}
if (!revert) {
await MedusaModule.migrateUp(
if (revert) {
await MedusaModule.migrateDown(
moduleResolution.definition.key,
moduleResolution.resolutionPath as string,
moduleResolution.options,
moduleResolution.moduleExports
)
} else {
await MedusaModule.migrateDown(
await MedusaModule.migrateUp(
moduleResolution.definition.key,
moduleResolution.resolutionPath as string,
moduleResolution.options,
@@ -411,15 +411,15 @@ async function MedusaApp_({
...(sharedResourcesConfig?.database ?? {}),
}
if (!revert) {
linkModuleMigration &&
(await linkModuleMigration({
if (revert) {
revertLinkModuleMigration &&
(await revertLinkModuleMigration({
options: linkModuleOpt,
injectedDependencies,
}))
} else {
revertLinkModuleMigration &&
(await revertLinkModuleMigration({
linkModuleMigration &&
(await linkModuleMigration({
options: linkModuleOpt,
injectedDependencies,
}))
+7 -10
View File
@@ -8,9 +8,12 @@ import {
import configModuleLoader from "../loaders/config"
import featureFlagLoader from "../loaders/feature-flags"
import Logger from "../loaders/logger"
import { loadMedusaApp, migrateMedusaApp } from "../loaders/medusa-app"
import {
loadMedusaApp,
migrateMedusaApp,
revertMedusaApp,
} from "../loaders/medusa-app"
import pgConnectionLoader from "../loaders/pg-connection"
import { MedusaAppMigrateDown } from "@medusajs/modules-sdk"
const runLinkMigrations = async (directory) => {
const configModule = configModuleLoader(directory)
@@ -57,18 +60,12 @@ const main = async function ({ directory }) {
})
if (args[0] === "run") {
await migrateMedusaApp(
{ configModule, container },
{ registerInContainer: false }
)
await migrateMedusaApp({ configModule, container })
Logger.info("Migrations completed.")
process.exit()
} else if (args[0] === "revert") {
await MedusaAppMigrateDown(
{ configModule, container },
{ registerInContainer: false }
)
await revertMedusaApp({ configModule, container })
await revertIsolatedModulesMigration(configModule)
Logger.info("Migrations reverted.")
} else if (args[0] === "show") {
+63 -20
View File
@@ -1,9 +1,10 @@
import {
MODULE_PACKAGE_NAMES,
MedusaApp,
MedusaAppMigrateDown,
MedusaAppMigrateUp,
MedusaAppOutput,
MedusaModule,
MODULE_PACKAGE_NAMES,
Modules,
ModulesDefinition,
} from "@medusajs/modules-sdk"
@@ -58,19 +59,18 @@ export function mergeDefaultModules(
return configModules
}
export async function migrateMedusaApp(
{
configModule,
container,
}: {
configModule: {
modules?: CommonTypes.ConfigModule["modules"]
projectConfig: CommonTypes.ConfigModule["projectConfig"]
}
container: MedusaContainer
},
config = { registerInContainer: true }
): Promise<void> {
async function runMedusaAppMigrations({
configModule,
container,
revert = false,
}: {
configModule: {
modules?: CommonTypes.ConfigModule["modules"]
projectConfig: CommonTypes.ConfigModule["projectConfig"]
}
container: MedusaContainer
revert?: boolean
}): Promise<void> {
const injectedDependencies = {
[ContainerRegistrationKeys.PG_CONNECTION]: container.resolve(
ContainerRegistrationKeys.PG_CONNECTION
@@ -92,12 +92,55 @@ export async function migrateMedusaApp(
}
const configModules = mergeDefaultModules(configModule.modules)
await MedusaAppMigrateUp({
modulesConfig: configModules,
remoteFetchData: remoteQueryFetchData(container),
sharedContainer: container,
sharedResourcesConfig,
injectedDependencies,
if (revert) {
await MedusaAppMigrateDown({
modulesConfig: configModules,
remoteFetchData: remoteQueryFetchData(container),
sharedContainer: container,
sharedResourcesConfig,
injectedDependencies,
})
} else {
await MedusaAppMigrateUp({
modulesConfig: configModules,
remoteFetchData: remoteQueryFetchData(container),
sharedContainer: container,
sharedResourcesConfig,
injectedDependencies,
})
}
}
export async function migrateMedusaApp({
configModule,
container,
}: {
configModule: {
modules?: CommonTypes.ConfigModule["modules"]
projectConfig: CommonTypes.ConfigModule["projectConfig"]
}
container: MedusaContainer
}): Promise<void> {
await runMedusaAppMigrations({
configModule,
container,
})
}
export async function revertMedusaApp({
configModule,
container,
}: {
configModule: {
modules?: CommonTypes.ConfigModule["modules"]
projectConfig: CommonTypes.ConfigModule["projectConfig"]
}
container: MedusaContainer
}): Promise<void> {
await runMedusaAppMigrations({
configModule,
container,
revert: true,
})
}