对 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
):
这样就会将选中数据表转化为 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');
}
}