使用 Laravel 时可以将两个迁移表放在不同的数据库中吗?

Can I place two migration tables in different databases when using Laravel?

现在我正在构建几个社交网络,每个社交网络都有自己的域和数据库,称为内容,以及一个连接到所有这些的公共用户数据库。

问题是 - 我可以将有关用户的迁移数据放入用户的数据库中,以便每次对数据库的更新都通过

实现

php artisan migrate

在每个社交网络上,- 这些仅适用于用户数据库一次。

我过去在一个项目中做过这个,但是你需要小心你的 Artisan 命令 运行。

使用您的示例,我将执行以下操作;

  • app/database/migrations/users - 此处为您的用户数据库迁移
  • app/database/migrations/content - 内容数据库迁移在此处

您还需要为您的配置创建适当的数据库连接;

app/config/database.php

<?php
return [
    'connections' => [
        'users' => [
            // Usual database connection details here
        ],
        'content_site1' => [
            // Usual database connection details here
        ],
        'content_site2' => [
            // Usual database connection details here
        ]
    ]
];

完成所有这些配置后,您应该能够运行 php artisan migrate --path app/database/migrations/users --database users 迁移您的用户数据库,php artisan migrate --path app/database/migrations/content --database content_site1 迁移您的内容站点。请记住为每个要 运行 迁移的连接更改数据库参数。