Laravel创建数据库表结构的例子(2)

php artisan migrate --force

回滚迁移

想要回滚最新的一次迁移”操作“,可以使用rollback命令,注意这将会回滚最后一批运行的迁移,可能包含多个迁移文件:

php artisan migrate:rollback

你也可以通过rollback命令上提供的step选项来回滚指定数目的迁移,例如,下面的命令将会回滚最后五条迁移:

php artisan migrate:rollback --step=5

migrate:reset命令将会回滚所有的应用迁移:

php artisan migrate:reset

在单个命令中回滚/迁移

migrate:refresh命令将会先回滚所有数据库迁移,然后运行migrate命令。这个命令可以有效的重建整个数据库:

php artisan migrate:refresh
php artisan migrate:refresh --seed

当然,你也可以回滚或重建指定数量的迁移,通过refresh命令提供的step选项,例如,下面的命令将会回滚或重建最后五条迁移:

php artisan migrate:refresh --step=5

5、数据表

创建表

使用Schema门面上的create方法来创建新的数据表。create方法接收两个参数,第一个是表名,第二个是获取用于定义新表的Blueprint对象的闭包:

Schema::create('users', function ($table) {
 $table->increments('id');
});

当然,创建新表的时候,可以使用schema构建器中的任意列方法来定义数据表的列。

检查表/列是否存在

你可以轻松地使用 hasTable 和 hasColumn 方法检查表或列是否存在:

if (Schema::hasTable('users')) {
 //
}

if (Schema::hasColumn('users', 'email')) {
 //
}

连接&存储引擎

如果你想要在一个数据库连接上执行表结构操作,该数据库连接并不是默认数据库连接,使用connection方法:

Schema::connection('foo')->create('users', function ($table) {
 $table->increments('id');
});

要设置表的存储引擎,在schema构建器上设置engine属性:

Schema::create('users', function ($table) {
 $table->engine = 'InnoDB';
 $table->increments('id');
});

重命名/删除表

要重命名一个已存在的数据表,使用rename方法:

Schema::rename($from, $to);

要删除一个已存在的数据表,可以使用drop或dropIfExists方法:

Schema::drop('users');
Schema::dropIfExists('users');
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5546.html