gpt4 book ai didi

php - 在 Laravel 中将数据库克隆为不同的名称

转载 作者:行者123 更新时间:2023-12-02 11:21:34 25 4
gpt4 key购买 nike

嗨,我是 Laravel 的新手。

在我们的项目中,我们必须将当前数据库克隆到具有不同名称的同一服务器中。例如,如果我们当前的数据库名称是“test”意味着,我必须将数据库(test)克隆到具有不同名称的同一服务器中,例如“test_2018”我需要数据库(test)中的所有表到我们的克隆数据库(test_2018)。

我如何以编程方式在 Laravel 中实现这一点,并且我使用了 Laravel 5.0 版。

最佳答案

我假设您使用的是 MySql 数据库。

您可以创建一个批处理文件,然后使用 Laravel 中的任务调度程序调用该文件。
App\Console\Kernel.php 中的 Laravel 项目中文件,将此行添加到 schedule 函数以每年运行命令。

protected function schedule(Schedule $schedule)
{
$schedule->exec('/batch.bat')->yearly();
}

如果你有 Windows,你需要使用任务计划程序创建一个计划任务,如果你有 Linux(90% 你有 Linux,特别是如果你的项目在托管服务器上运行),那么你应该创建一个 CRON 作业并放置这个脚本在你的脚本中(根据 Laravel documentation):
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

然后在您的项目文件夹中创建一个 batch.bat(Windows) 或 batch.sh(Linux) 文件,并将以下内容放入其中:
mysql -u [USER-NAME] -p[PASSWORD] [YOUR-CURRENT-DATABASE-NAME] > /dumpfile.sql
CREATE DATABASE [NEW-DATABASE-NAME];
[NEW-DATABASE-NAME] < /dumpfile.sql

不要等待并立即使用以下命令手动测试它:
php artisan schedule:run

关于php - 在 Laravel 中将数据库克隆为不同的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48677486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com