schwarzer/laravel-mysql-to-seeder

MySQL 转 Laravel >5.1 Seeder

v0.9.3 2018-09-25 16:22 UTC

This package is auto-updated.

Last update: 2024-08-29 04:19:47 UTC


README

Packagist Packagist Packagist

我需要一个工具,用于将现有 MySQL 数据库中的数据导出到 Laravel Seeder 中。我在网上搜索了它,但没有找到我想要正确的工具。我偶然发现了 namelivia/mysql-to-laravel-seed

但是...

  • ...使用了过时的函数
  • ...迫使我创建一个导出模式
  • ...没有创建可工作的 Seeder(缺少 use Illuminate\Database\Seeder;
  • 并且 Seeder 看起来也不太美观

我决定创建一个自己的 MySQL 到 Laravel Seeder 工具版本。

兼容性

我欢迎所有有关工作环境的反馈。请给我发邮件 (info@schwarzer.it),我会把它发布在这里,或者发送一个合并请求。

简单示例

在 Laravel 根目录下创建一个名为 export.php 的文件(即你的 .env 文件所在位置),然后使用 php ./export.php 执行它。完成。

不使用 Composer 自动加载使用

<?php

require_once __DIR__.'/path/to/schwarzer/laravel-mysql-to-seeder/src/Export.php';

$export = new \Schwarzer\LaravelHelper\MySQLToSeeder\Export('hostname','database','username','password',3306);

$export->generateExport(
    null, // null equals "All Tables" ( $this->getAllTableNames() )
    './database/seeds', // if null './database/seeds' is applied
    ['these','are','boolean','values'],
    ['timestamp_column','created_at', 'updated_at'],
    ['type','date']
);

使用 Composer 自动加载使用

<?php

require __DIR__.'/vendor/autoload.php';

$export = new \Schwarzer\LaravelHelper\MySQLToSeeder\Export('hostname','database','username','password',3306);

$export->generateExport(
   null,  // null equals "All Tables" ( $this->getAllTableNames() )
   './database/seeds', // if null './database/seeds' is applied
   ['these','are','boolean','values'],
   ['timestamp_column','created_at', 'updated_at'],
   ['type','date']
);