laravel提供了一个Artisan命令make:migration帮助我们快速生成数据库迁移文件。
--create=用于指定要创建的数据表名称
--table=用户置顶要修改的数据表名称
php artisan make:migration create_users_table --create=users #创建数据表迁移 并指定表名
php artisan make:migration alter_users_add_nickname --table=users #更新数据表迁移
数据库迁移操作都是基于Schema门面完成的,创建数据表需要调用他的create方法
public function up()
{
	Schema::create(‘表名‘,function(Blueprint $table){
	
	});
}
是通过Schema门面上的table方法来修改数据表结构
public function up()
{
    Schema::table(‘users‘, function (Blueprint $table) {
        $table->string(‘nickname‘, 100)->after(‘name‘)->nullable()->comment(‘用户昵称‘);
    });
}
迁移类的down方法的操作和up方法操作正好相反
public function down()
{
	Schema::table(‘users‘,function(Blueprint $table){
		$table->dropColumn(‘nickname‘);
	})
}
修改字段长度 可以定义完属性后调用change方法执行变更
$table->strting(‘nickname‘,50)->change();
重命名某个字段  调用renameColumn
$table->renameColumn(‘name‘,‘username‘);
$table->primary(‘id‘);	 //主键
$table->unique(‘name‘);		//唯一索引
$table->index(‘email‘);		//普通索引
参数支持传入数组。
$table->index([‘name‘, ‘email‘]);
$table->dropIndex(‘name‘);
$table->dropUnique(‘email‘);
$table->dropPrimary(‘id‘);
$table->foreign(‘user_id‘)->references(‘id‘)->on(‘users‘);
指定外键约束(级联删除和更新,删除users表中的某个id对应记录,文章表中对应记录也删除),可以通过onDelete和onUpdate方法实现
$table->foreign(‘user_id‘)->references(‘id‘)->on(‘users‘)->onDelete(‘cascade‘);
$table->foreign(‘user_id‘)->references(‘id‘)->on(‘users‘)->onUpdate(‘cascade‘);
通过dropForeign
$table->dropForeign([‘user_id‘]);
通过完整的外键索引名称删除:
$table->dropForeign(‘posts_user_id_foreign‘);
php artisan migrate
回滚最后一个迁移文件的变更:
php artisan migrate:rollback
回滚多个迁移文件变更 --step=指定步数
php artisan migrate:rollback --step=5
回滚所有迁移
php artisan migrate:reset
原文:https://www.cnblogs.com/bigcola/p/13369351.html