1 场景:系统根据行政区划不同分库,不分表。需要根据sql语句中的orgCode的值切换数据库,比如orgCode = '51000’切换到A数据库执行sql,orgCode = '51001’切换到b数据库执行sql。
2 问题:
如上图配置时重写StandardShardingAlgorithm的自定义算法未生效,sql永远在ds_3库执行,只有加上
tables:
person:
actualDataNodes: ds_${1..3}.person
的配置才能生效,但是只对person表起作用。
3 想要达到的效果:只配置默认分库策略,不配置tables,然后任意sql可根据orgCode的值切换到对应数据库执行。