[ // 本地开发环境直接执行代码中登记的只读查询,不等待生产刷新节点或共享范围开放。 // 凭据仍统一从系统数据库读取,开发者不需要填写两套上游连接。 'direct_read' => env('APP_ENV', 'production') === 'local', ], 'snapshots' => [ // 统一使用系统数据库,确保所有受信任开发环境复用同一份按需快照。 'cache_store' => env('UPSTREAM_SNAPSHOT_CACHE_STORE', 'upstream_shared'), // 页面只登记需求并读取共享快照;首次取数统一交给后台刷新节点。 'allow_inline_refresh' => false, ], /* |-------------------------------------------------------------------------- | 上游数据源登记表 |-------------------------------------------------------------------------- | | 每个来源使用独立配置、缓存命名空间、查询预算和熔断状态。新增来源时 | 只在代码中登记非敏感标识;生产凭据可在明确开启后加密保存到系统库, | 并由同一套系统数据库登录凭据跨受信任开发环境解锁。 | */ 'runtime' => [ // 只限制冷查询和后台刷新;共享快照命中不占槽位。 'max_concurrency' => (int) env('UPSTREAM_MAX_CONCURRENCY', 4), 'slot_wait_ms' => (int) env('UPSTREAM_SLOT_WAIT_MS', 1500), // 开发机可覆盖系统数据库中记录的 ODBC 驱动名。 'odbc_driver' => env('UPSTREAM_ODBC_DRIVER'), ], 'stored_configuration' => [ // 生产环境默认关闭;只允许在系统数据库和备份均已就绪后显式开启。 'enabled' => filter_var(env('UPSTREAM_STORED_CONFIG_ENABLED', false), FILTER_VALIDATE_BOOL), ], 'tunnel_endpoints' => [ // 仅生产环境使用的私有隧道端点。它只替换连接主机和端口, // 数据库名、账号和密码仍从共享系统数据库读取,不能写入此处。 'jiansun' => [ 'host' => env('UPSTREAM_TUNNEL_JIANSUN_HOST'), 'port' => env('UPSTREAM_TUNNEL_JIANSUN_PORT'), ], 'operations_replica' => [ 'host' => env('UPSTREAM_TUNNEL_OPERATIONS_REPLICA_HOST'), 'port' => env('UPSTREAM_TUNNEL_OPERATIONS_REPLICA_PORT'), ], 'js_data_middle_platform' => [ 'host' => env('UPSTREAM_TUNNEL_JS_DATA_MIDDLE_PLATFORM_HOST'), 'port' => env('UPSTREAM_TUNNEL_JS_DATA_MIDDLE_PLATFORM_PORT'), ], 'product_barcode_catalog' => [ 'host' => env('UPSTREAM_TUNNEL_PRODUCT_BARCODE_CATALOG_HOST'), 'port' => env('UPSTREAM_TUNNEL_PRODUCT_BARCODE_CATALOG_PORT'), ], ], 'local_configuration' => [ // 开发机显式开启后完全使用本机私有来源配置,不读取共享密码。 'enabled' => filter_var(env('UPSTREAM_LOCAL_CONFIG_ENABLED', false), FILTER_VALIDATE_BOOL), ], 'sources' => [ 'jiansun' => [ 'label' => 'JianSun 旧业务库', 'config' => 'jiansun', ], 'operations_replica' => [ 'label' => '经营分析副本库', 'config' => 'operations_replica', // Linux 生产镜像中该来源经私有隧道使用 FreeTDS 的 PDO_DBLIB。 // Windows 和其他来源继续保持现有 PDO_ODBC 行为。 'use_pdo_dblib' => true, ], 'js_data_middle_platform' => [ 'label' => 'JSDataMiddlePlatform 中台库', 'config' => 'js_data_middle_platform', 'use_pdo_dblib' => true, ], 'product_barcode_catalog' => [ 'label' => '商品条码料号映射库', 'config' => 'upstream_pipeline.defaults', ], ], ];