Laravel Migrate:回滚添加和删除表列
我已使用php artisan migrate:make add_something_to_to_user_table --table=users
和编码
Schema::table('users', function(Blueprint $table)
{
$table->string('description1');
$table->string('description2');
$table->string('description3');
});
并添加了三个字段,并给出了php artisan migrate
,这些字段被存储到数据库
还发现migration table
被更新为行2014_11_05_145536_add_something_to_to_user_table
现在当我使用php artisan migrate:rollback
迁移表中的2014_11_05_145536_add_something_to_to_user_table
行丢失,但添加到用户表的列保持不变
为什么不同时删除表中的字段导致再次使用php artisan migrate
时出错...
解决方案
您的迁移中应该有一个down()
方法,应该如下所示:
public function down()
{
Schema::table('users', function($table)
{
$table->dropColumn(array('description1', 'description2', 'description3'));
});
}
它将在回滚时调用,并负责删除迁移添加的列。
相关文章