watheqalshowaiter/backup-tables

轻松备份单个或多个数据库表。

1.2.2 2024-08-26 19:02 UTC

This package is auto-updated.

Last update: 2024-09-26 20:45:20 UTC


README

Package cover

备份表

Latest Version on Packagist Total Downloads GitHub Code Style Action Status GitHub Tests For Laravel Versions Action Status GitHub Tests For Databases Action Status

轻松备份单个或多个数据库表。

注意:如果您需要具有许多功能的完整数据库备份,请使用 Spatie Laravel Backup

安装

您可以通过Composer安装此包

composer require watheqalshowaiter/backup-tables

用法

您可以在应用程序的任何地方使用BackupTables::generateBackup($tableToBackup) Facade,它将在数据库中生成$tableToBackup_backup_2024_08_22_17_40_01表,包含所有数据和结构。请注意,日期时间2024_08_22_17_40_01将根据您的日期时间变化。

use WatheqAlshowaiter\BackupTables\BackupTables; // import the facade

class ChangeSomeData
{
    public function handle()
    {
        BackupTables::generateBackup('users'); // will result: users_backup_2024_08_22_17_40_01
       
        // change some data.. 
    }
}

更多自定义

  • 您可以使用数组备份多个表
BackupTables::generateBackup(['users', 'posts']); 
// users_backup_2024_08_22_17_40_01
// posts_backup_2024_08_22_17_40_01 
  • 或添加类作为参数,它将备份它们的表
BackupTables::generateBackup(User::class); // users_backup_2024_08_22_17_40_01
// or
BackupTables::generateBackup([User::class, Post::class]); // users_backup_2024_08_22_17_40_01, posts_backup_2024_08_22_17_40_01 
 
  • 您可以将$dataTime格式自定义为您想要的任何格式
BackupTables::generateBackup('users', 'Y_d_m_H_i'); // users_backup_2024_22_08_17_40

**注意**:请注意,如果将日期时间自定义为宽日期时间,则包将检查备份日期时间文件,并且将跳过确切的相同日期时间,所以大多数情况下默认值将足够好。例如:如果您使用此Y_d_m_H,则不能在相同的小时内生成相同的备份

BackupTables::generateBackup('users', 'Y_d_m_H'); // can not generate the same backup in the same hour
BackupTables::generateBackup('users', 'Y_d_m'); // can not generate the same backup in the same day

为什么?

有时您可能需要出于某种原因在更改数据之前备份某些数据库表,此包满足此需求。我在添加外键之前个人使用了它,需要删除父表中的未连接字段。您可能会发现一些在处理表数据或在担心数据丢失的情况下,所以您事先备份这些表。

功能

✅ 支持Laravel版本:11、10、9、8、7和6。

✅ 支持PHP版本:8.2、8.1、8.0和7.4。

✅ 支持SQL数据库:SQLite、MySQL/MariaDB、PostgreSQL和SQL Server。

✅ 完全使用PHPUnit自动化测试。

✅ 完全GitHub Action CI管道格式化代码并对所有Laravel和PHP版本进行测试。

测试

composer test

变更日志

请参阅CHANGELOG以了解最近更改的更多信息。

贡献

如果您有任何改进或修复错误的想法或建议,您的贡献是受欢迎的。我鼓励您查看待办事项,这些是需要添加的最重要功能。如果您有不同之处,请首先提交一个问题以进行讨论或报告错误,然后进行拉取请求。

安全漏洞

如果您发现任何安全漏洞,请不要犹豫,通过watheqalshowaiter[at]gmail[dot]com与我联系以修复它们。

鸣谢

并特别感谢The King Creative为标志✨

许可

MIT许可证(MIT)。有关更多信息,请参阅许可文件