feat(link-modules, pricing, product, utils): Custom database config in shared mode (#5755)
* feat(link-modules, pricing, product, utils): Should be able to set some custom database config even in shared mode * Create wet-hounds-retire.md
This commit is contained in:
committed by
GitHub
parent
c4deeee481
commit
8f25ed8a10
8
.changeset/wet-hounds-retire.md
Normal file
8
.changeset/wet-hounds-retire.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
"@medusajs/link-modules": patch
|
||||
"@medusajs/pricing": patch
|
||||
"@medusajs/product": patch
|
||||
"@medusajs/utils": patch
|
||||
---
|
||||
|
||||
feat(link-modules, pricing, product, utils): Should be able to set some custom database config even in shared mode
|
||||
@@ -23,6 +23,7 @@ export function connectionLoader(entity: EntitySchema) {
|
||||
const pathToMigrations = __dirname + "/../migrations"
|
||||
|
||||
await ModulesSdkUtils.mikroOrmConnectionLoader({
|
||||
moduleName: "link_module",
|
||||
entities: [entity],
|
||||
container,
|
||||
options,
|
||||
|
||||
@@ -19,6 +19,7 @@ export default async (
|
||||
const pathToMigrations = __dirname + "/../migrations"
|
||||
|
||||
await ModulesSdkUtils.mikroOrmConnectionLoader({
|
||||
moduleName: "pricing",
|
||||
entities,
|
||||
container,
|
||||
options,
|
||||
|
||||
@@ -19,6 +19,7 @@ export default async (
|
||||
const pathToMigrations = __dirname + "/../migrations"
|
||||
|
||||
await ModulesSdkUtils.mikroOrmConnectionLoader({
|
||||
moduleName: "product",
|
||||
entities,
|
||||
container,
|
||||
options,
|
||||
|
||||
@@ -12,12 +12,14 @@ import { mikroOrmCreateConnection } from "../../dal"
|
||||
import { loadDatabaseConfig } from "../load-module-database-config"
|
||||
|
||||
export async function mikroOrmConnectionLoader({
|
||||
moduleName,
|
||||
container,
|
||||
options,
|
||||
moduleDeclaration,
|
||||
entities,
|
||||
pathToMigrations,
|
||||
}: {
|
||||
moduleName: string
|
||||
entities: any[]
|
||||
container: MedusaContainer
|
||||
options?:
|
||||
@@ -43,7 +45,18 @@ export async function mikroOrmConnectionLoader({
|
||||
moduleDeclaration?.scope === MODULE_SCOPE.INTERNAL &&
|
||||
moduleDeclaration.resources === MODULE_RESOURCE_TYPE.SHARED
|
||||
) {
|
||||
return await loadShared({ container, entities, pathToMigrations })
|
||||
const shouldSwallowError = true
|
||||
const dbConfig = loadDatabaseConfig(
|
||||
moduleName,
|
||||
(options ?? {}) as ModulesSdkTypes.ModuleServiceInitializeOptions,
|
||||
shouldSwallowError
|
||||
)
|
||||
return await loadShared({
|
||||
database: dbConfig,
|
||||
container,
|
||||
entities,
|
||||
pathToMigrations,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -55,7 +68,7 @@ export async function mikroOrmConnectionLoader({
|
||||
)?.database?.connection
|
||||
dbConfig = {
|
||||
...loadDatabaseConfig(
|
||||
"product",
|
||||
moduleName,
|
||||
(options ?? {}) as ModulesSdkTypes.ModuleServiceInitializeOptions,
|
||||
shouldSwallowError
|
||||
),
|
||||
@@ -95,7 +108,7 @@ async function loadDefault({
|
||||
return orm.em.fork()
|
||||
}
|
||||
|
||||
async function loadShared({ container, entities, pathToMigrations }) {
|
||||
async function loadShared({ database, container, entities, pathToMigrations }) {
|
||||
const sharedConnection = container.resolve(
|
||||
ContainerRegistrationKeys.PG_CONNECTION,
|
||||
{
|
||||
@@ -111,6 +124,7 @@ async function loadShared({ container, entities, pathToMigrations }) {
|
||||
const manager = await loadDefault({
|
||||
entities,
|
||||
database: {
|
||||
...database,
|
||||
connection: sharedConnection,
|
||||
},
|
||||
pathToMigrations,
|
||||
|
||||
Reference in New Issue
Block a user