将 Sequel Pro 中已存在的数据表导出为 Laravel 迁移文件

sequel-pro-valet

Laravel 开发者来说,主要有两种方式创建数据表,一种是通过 MySQL 客户端工具,比如 Sequel Pro(Mac环境下比较流行的MySQL客户端软件),另一种是通过 Laravel 提供的 Artisan 命令生成迁移文件。

如果之前的项目不是通过 Laravel 构建的,现在要迁移到Laravel,或者之前不是通过迁移文件生成的数据表,想要将已存在的数据表转化为 Laravel 迁移文件怎么办,由 Colin Viebrock 为 Sequel Pro 开发的Laravel迁移导出工具为我们提供了方便。

我们从github(https://github.com/cviebrock/sequel-pro-laravel-export)将代码克隆本地:

git clone https://github.com/cviebrock/sequel-pro-laravel-export.git

然后进入项目目录,双击ExportToLaravelMigration.spBundle文件,接下来在打开的页面连接到数据库,在左侧选中一张数据表,在菜单栏选择Bundles › Export › Export将数据表导出为迁移文件(或者使用快捷命令⌃⌥⌘M):

sequel-pro-export-to-laravel-migration

这样就会将选中数据表转化为 Laravel 数据库迁移文件并存放在桌面,比如我选中的是users表,对应的迁移文件是2016_11_20_212052_create_users_table.php,文件内容如下:

<?php 
use Illuminate\Support\Facades\Schema; 
use Illuminate\Database\Schema\Blueprint; 
use Illuminate\Database\Migrations\Migration; 

/**
 * Migration auto-generated by Sequel Pro Laravel Export
 * @see https://github.com/cviebrock/sequel-pro-laravel-export  
 */ 
class CreateUsersTable extends Migration {
     /**
      * Run the migrations.
      *
      * @return void
      */
     public function up()
     {
         Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name', 255);
            $table->string('email', 255);
            $table->string('password', 255);
            $table->rememberToken();
            $table->nullableTimestamps();

            $table->unique('email', 'users_email_unique');

        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

我们可以将其拷贝到 Laravel 项目的数据库迁移目录,以便后续使用该文件进行后续操作。

学院君

学院君 has written 550 articles

资深PHP工程师,Laravel学院院长