编程

[Laravel 扩展包]在 Laravel 中备份数据库表

434 2024-10-18 23:57:00

有时,由于某种原因,可能需要备份数据库表。

比如,你可能希望在执行某些迁移之前,在不同的环境中还原它们或备份数据库表。

在做任何破坏性的事情之前,备份你的表格可能被认为是一种很好的做法。
这就是接下来将要介绍的这个 Laravel 包可以派上用场的地方。

本质上,这个包允许从代码中备份一个表或一组表。
首先,使用 Composer 安装软件包。

composer require watheqalshowaiter/backup-tables

安装后,可以使用 BackupTables facade 备份一个表或一组表。

因此,比如,如果你想备份用户表,你可以这样做。

use WatheqAlshowaiter\BackupTables\BackupTables;

Route::get('/backup', function () {
    BackupTables::generateBackup(['users', 'limits']);
});

这将生成数据库中用户表的备份/快照,格式为 `users_backup_2024_10_18_23_58_31,在表名后附加当前日期和时间。

你还可以同时备份多个表。

BackupTables::generateBackup(['users', 'posts']);

你可以通过向 generateBackup  方法传递第二个参数来更改生成表的命名约定。

BackupTables::generateBackup(['users', 'posts'], 'Y_d_m');

这将生成表名 users_backup_2024_10_18。但要知道,如果表是以相同的名称生成的,它将跳过表的备份。