将 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 977 articles

Laravel学院院长,终身学习者

积分:112027 等级:P12 职业:手艺人 城市:杭州

9 条回复

  1. -TlcBeWithU -TlcBeWithU says:
    学院君,你好,我按照文章说的,点击了 ExportToLaravelMigration.spBundle 文件后,连接到数据库,可是发现export 如图没有 export to laravel 这个选项呢
  2. - - says:
    @ dntc MySQLWorkbench 中 Models的属性的顺序怎么调整,我没找到方法。
  3. 刘_小农 刘_小农 says:
    @ haha1 mysqlWorkbench for Mac 很好。
  4. - - says:
    @ haha 这个怎么设计,怎么画数据库模型图?没找到。
  5. - - says:
    您好,请问mac下有什么数据库设计软件吗

登录后才能进行评论,立即登录?