5.14 多数据源支持

    当使用多数据源时,只需要对每个 ActiveRecordPlugin指定一个 configName即可,如下是代码示例:

    以上代码创建了创了两个ActiveRecordPlugin实例arpMysql与arpOrace,特别注意创建实例的同时指定其configName分别为mysql与oracle。arpMysql与arpOracle分别映射了不同的Model,配置了不同的方言。

    上例中的代码,blog.use(“backupDatabase”)方法切换数据源到backupDatabase并直接将数据保存起来。

    特别注意:只有在同一个Model希望对应到多个数据源的table时才需要使用use方法,如果同一个Model唯一对应一个数据源的一个table,那么数据源的切换是自动的,无需使用use方法。

    以上两行代码,分别通过configName为mysql、oracle得到各自的数据库操作对象,然后就可以如同单数据完全一样的方式来使用数据库操作 API了。简言之,对于 Db + Record来说,多数据源相比单数据源仅需多调用一下Db.use(configName),随后的API使用方式完全一样。

    注意最先创建的 ActiveRecrodPlugin实例将会成为主数据源,可以省略configName。最先创建的 ActiveRecrodPlugin实例中的配置将默认成为主配置,此外还可以通过设置configName为 DbKit.MAIN_CONFIG_NAME常量来设置主配置。