@objectstack/metadata 4.0.3 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/node.cjs CHANGED
@@ -2608,21 +2608,40 @@ var MetadataPlugin = class {
2608
2608
  totalItems: totalLoaded,
2609
2609
  registeredTypes: sortedTypes.length
2610
2610
  });
2611
+ let driverBridged = false;
2611
2612
  try {
2612
- const services = ctx.getServices();
2613
- for (const [serviceName, service] of services) {
2614
- if (serviceName.startsWith("driver.") && service) {
2615
- ctx.logger.info("[MetadataPlugin] Bridging driver to MetadataManager for database-backed persistence", {
2616
- driverService: serviceName
2613
+ const ql = ctx.getService("objectql");
2614
+ if (ql) {
2615
+ const tableName = this.manager["config"]?.tableName ?? "sys_metadata";
2616
+ const driver = ql.getDriverForObject?.(tableName);
2617
+ if (driver) {
2618
+ ctx.logger.info("[MetadataPlugin] Bridging driver to MetadataManager via ObjectQL routing", {
2619
+ tableName,
2620
+ driver: driver.name
2617
2621
  });
2618
- this.manager.setDatabaseDriver(service);
2619
- break;
2622
+ this.manager.setDatabaseDriver(driver);
2623
+ driverBridged = true;
2624
+ } else {
2625
+ ctx.logger.debug("[MetadataPlugin] ObjectQL could not resolve driver for metadata table", { tableName });
2620
2626
  }
2621
2627
  }
2622
- } catch (e) {
2623
- ctx.logger.debug("[MetadataPlugin] No driver service found \u2014 database metadata persistence not available", {
2624
- error: e.message
2625
- });
2628
+ } catch {
2629
+ }
2630
+ if (!driverBridged) {
2631
+ try {
2632
+ const services = ctx.getServices();
2633
+ for (const [serviceName, service] of services) {
2634
+ if (serviceName.startsWith("driver.") && service) {
2635
+ ctx.logger.info("[MetadataPlugin] Bridging driver to MetadataManager (fallback: first driver)", {
2636
+ driverService: serviceName
2637
+ });
2638
+ this.manager.setDatabaseDriver(service);
2639
+ break;
2640
+ }
2641
+ }
2642
+ } catch (e) {
2643
+ ctx.logger.debug("[MetadataPlugin] No driver service found", { error: e.message });
2644
+ }
2626
2645
  }
2627
2646
  try {
2628
2647
  const realtimeService = ctx.getService("realtime");