hadeluca/db-exporter

这是一个Laravel框架的包,通过命令行导出数据库迁移和所有种子数据

v2.5.0 2021-05-18 09:24 UTC

This package is auto-updated.

Last update: 2024-09-18 16:56:46 UTC


README

快速方便地将数据库导出为Laravel迁移(结构)和种子类的所有数据。

这可以通过Artisan命令或控制器动作完成。

此包是对现有nWidart/DbExporter库的重构

PS:当您更新库时,请记住重新发布vendor!

变更日志

查看变更日志文件(使用版本2.3.0创建)

安装

"hadeluca/db-exporter"添加到composer.json的要求中

{
    ...
    "require": {
        ...
        "hadeluca/db-exporter": "2.5.*"
    },
}

更新composer

php composer.phar update

或通过命令行

composer require hadeluca/db-exporter

将服务提供者添加到app/config/app.php

'Hardel\Exporter\DBExporterServiceProvider::class'

(可选)发布配置文件。

php artisan vendor:publish hadeluca/db-exporter

使用dev-master作为版本要求,保持在最新边缘

文档

从命令行

将数据库导出到迁移

基本用法
php artisan dbexp:migration
指定数据库
php artisan dbexp:migration databaseName
忽略表

您可以通过逗号分隔来忽略多个表。

php artisan dbexp:migration --ignore="table1,table2"

将数据库表数据导出到种子类

此命令将导出您所有数据库表数据到一个种子类。

php artisan dbexp:seed

在这里您也可以忽略多个表

php artisan dbexp:seed --ignore="table1,table2"

重要:此操作需要您在config/database.php中更新数据库配置文件

接下来,您只需在database/seeds/DatabaseSeeder.php中添加基础种子类上的调用方法。

$this->call('nameOfYourSeedClass');

现在您可以从命令行运行

  • php artisan db:seed,
  • 或者,无需添加调用方法:php artisan db:seed --class=nameOfYourSeedClass

链式调用

您还可以结合迁移和种子的生成

php artisan dbexp:all [databaseName] [--ignore="table1,table2"]

忽略表

默认情况下,忽略迁移表。

导出所有数据到.xlsx(Excel)

现在您可以从命令行将所有数据导出到Excel文件

php artisan dbexp:excel-data [databaseName] [path] [--ignore="table1,table2"]

默认情况下(在config.php中),您可以找到库存储数据库.xlsx的路径

<?php
return [
    'excel' => [
                'seed' => base_path().'/database/export/excel/seeds/',
                'migrations' => base_path().'/database/export/excel/migration/'
            ]
];

您也可以通过传递路径到命令行来覆盖此路径

php artisan dbexp:excel-data null ~.Desktop.excelFolder [--ignore="table1,table2"]

自动在~/Desktop/excelFolder/database.xlsx中找到

待办事项

  • 创建从MySQL导出数据的导出
  • 创建Postgres迁移器和种子器
  • 创建SQLite迁移器和种子器
  • 创建SqlServer迁移器和种子器

致谢

感谢 @nicolaswidart原始包,我从新版本的Laravel 5.4, 5.5, 5.6, 5.7, 5.8, 6.*中下载了它,但不兼容。因此我对其进行了修改。

许可证 (MIT)

版权 (c) 2017-2021 Hernan Ariel De Luca , hadeluca@gmail.com

本软件及其相关文档文件(以下简称“软件”)的复制者,在此免费获得使用软件的权利,不受限制地使用软件,包括但不限于使用、复制、修改、合并、发布、分发、许可和/或出售软件副本,并允许软件的接受者进行上述操作,但需遵守以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何形式的明示或默示保证,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论该责任是基于合同、侵权或其他原因,以及该软件的使用或其他方式与软件相关联。