【发布时间】:2019-07-06 06:35:27
【问题描述】:
我遇到以下情况:
我想将我的数据库拆分为单独的读写数据库。出于这个原因,我设置了 config/database.php
'mysql' => [
'driver' => 'mysql',
'write' => ['host' => env('DB_HOST_WRITE', 'localhost'),],
'read' => ['host' => env('DB_HOST_READ', 'localhost'),],
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
对于DB_HOST_WRITE 和DB_HOST_READ,我已经为运行数据库的服务器设置了IP 地址。
对于DB_DATABASE、DB_USERNAME、DB_PASSWORD,我已经设置了数据库名称和登录凭据。
当我尝试使用以下 mysql 控制台命令访问它们时,两台服务器都可以访问:mysql -u USERNAME -h IPADDRESS -p
问题出在:当我尝试从这样的第三台服务器运行迁移时
php artisan migrate
但只有写入数据库被设置。
这是预期的行为吗?
我必须手动迁移每个数据库吗?
迁移命令是否有一个标志,允许我指定要迁移的连接?
当我搜索它时,我找不到任何关于读写数据库迁移的信息。
没有进行进一步的数据库设置。我的信息来源是以下指南:https://laravel.com/docs/5.7/database#read-and-write-connections
非常欢迎提供有用指南或解决方案建议的链接。
感谢您的关注。
【问题讨论】:
-
您的数据库之间的数据库复制是如何配置的?
标签: mysql database migration laravel-5.7 read-write