1. 数组长度必须一致
// 错误示例 - 会抛出异常 TMVCActiveRecordMiddleware.Create( 'MainDB', ['LogDB', 'CacheDB'], // 2个元素 ['LogDB_Def'], // 1个元素 ← 错误! 'MultiConnections.ini' );
2. 连接名命名规范
// 建议使用有意义的命名 TMVCActiveRecordMiddleware.Create( 'MainDB', ['LogDB', 'CacheDB', 'ReportingDB', 'ArchiveDB'], // 逻辑名称 ['Log_Connection', 'Cache_Connection', 'Report_Conn', 'Archive_Conn'], // 配置名称 'connections.ini' );
🎯 典型使用场景
场景1:读写分离
// 主库写,从库读 TMVCActiveRecordMiddleware.Create( 'WriteDB', // 默认连接用于写操作 ['ReadDB'], // 附加连接用于读操作 ['ReadDB_Def'], 'ReadWrite.ini' );
场景2:多租户(每个租户独立数据库)
// 根据租户动态选择连接 TMVCActiveRecordMiddleware.Create( 'DefaultTenantDB', ['Tenant1DB', 'Tenant2DB', 'Tenant3DB'], ['Tenant1_Def', 'Tenant2_Def', 'Tenant3_Def'], 'tenants.ini' );
场景3:功能分离
// 不同功能模块使用不同数据库 TMVCActiveRecordMiddleware.Create( 'CoreDB', // 核心业务数据 ['LogDB', 'AuditDB', 'NotificationDB', 'GeoDB'], ['Log_Def', 'Audit_Def', 'Notify_Def', 'Geo_Def'], 'modules.ini' );
🛠️ 调试技巧
ActiveRecordConnectionsRegistry.SetCurrent('TEST1'); // 从现在开始,在这个线程中,当前连接。
中年大叔学Delphi
浙公网安备 33010602011771号