为 2 Laravel 个应用程序使用相同的数据库

Use same database for 2 Laravel Apps

我正在 Laravel 5.3 上制作一个 Web 应用程序,它是前端应用程序。我正在管理来自后端应用程序的数据。我已经在前端应用程序而不是后端应用程序中进行了模型和迁移。那么我应该如何为两者使用相同的数据库、模型和迁移。请帮忙。

您只需在后端应用程序中创建模型,它们仍然可以工作。

如果您使用的是 Artisan:

php artisan make:model ModelName

迁移文件可能有点棘手,我建议通过您的前端应用程序管理所有这些以保持一致性,然后在后端应用程序中创建您需要的模型。

您没有提及您的后端应用程序是否也在使用 Laravel。

无论哪种方式,我认为您最好的方法是将后端应用程序构建为 API。然后它将包含数据库迁移和模型。后端将是直接与数据库连接的后端。然后前端会从后端 API 获取数据并显示它们。前端应用程序也可以拥有自己的模型(但不是数据库模型)。

有论据支持在 front-end 应用程序上使用 API 来访问后端或仅在每个系统上重新创建模型。我支持访问相同数据的多个站点。很快就发现最好的方法是在后端创建一个 API 来为它们提供服务。也适用于其他共享资源,即图像。

加载时间略有下降,但很小,不值得一提。它在使用其他平台时也有帮助,即 ioS、android 和 Ajax.

您可以像这样重命名 bootstrap/app.php 中的 migrations table:

$app->configure('database');
$app->config->set('database.migrations', 'backend_migrations');

这样您将获得两个迁移 table,一个用于前端,一个用于后端,都在同一个数据库中。