Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Prope迁移多个数据库_Php_Mysql_Database Migration_Propel - Fatal编程技术网

Php 使用Prope迁移多个数据库

Php 使用Prope迁移多个数据库,php,mysql,database-migration,propel,Php,Mysql,Database Migration,Propel,我正在维护一个有许多数据库的系统。一个“中央”数据库和许多其他“客户端”数据库。每次客户端注册时,我们都使用SQL文件创建一个客户端数据库。系统使用的是Prope+PHP+MySQL 现在的问题是,当我们进行版本升级时,会发生一些变化。可以对中央数据库使用推进迁移,但有许多客户端数据库,并且在spreep.yaml/spreep-config.php中,对于这样的客户端,我们只有一个连接字符串: $manager = new \Propel\Runtime\Connection\Connecti

我正在维护一个有许多数据库的系统。一个“中央”数据库和许多其他“客户端”数据库。每次客户端注册时,我们都使用SQL文件创建一个客户端数据库。系统使用的是Prope+PHP+MySQL

现在的问题是,当我们进行版本升级时,会发生一些变化。可以对中央数据库使用推进迁移,但有许多客户端数据库,并且在spreep.yaml/spreep-config.php中,对于这样的客户端,我们只有一个连接字符串:

$manager = new \Propel\Runtime\Connection\ConnectionManagerSingle();
$manager->setConfiguration(array(
    'classname' => 'Propel\\Runtime\\Connection\\ConnectionWrapper',
    'dsn' => 'mysql:host=127.0.0.1;dbname=' . $shopDbName . ';charset=UTF8',
    'user' => 'dba',
    'password' => ‘******',
    'attributes' =>
        array(
            'ATTR_EMULATE_PREPARES' => false,
        ),
));
其中$shopDbName是由从客户端设备发送的字符串标识的全局变量


那么,在这种情况下,我如何自动化客户端dbs的迁移过程呢?

您可以在您的prople.yaml文件中创建多个连接,然后为generator指定一个默认连接,一个用于迁移,一个用于运行时。这还取决于数据库的分布方式。您能否详细说明如何共享m每个客户端的igrstion文件?您可以在sprip.yaml文件中创建多个连接,然后为generator指定一个默认连接,一个用于迁移,一个用于运行时。这还取决于数据库的分布方式。您能否详细说明如何为每个客户端共享migrstion文件?您可以创建多个连接请在您的spreep.yaml文件中指定一个默认连接,然后为生成器指定一个默认连接,一个用于迁移,一个用于运行时。这还取决于数据库的分布方式。您能否详细说明如何为每个客户端共享migrstation文件?