在基本的Laravel应用程序中,我在User类中添加了:
使用SoftDeletes;
应用程序不再起作用,因为MySql数据库的User表中没有'deleted_at'列。我试图通过删除所有表并重新创建它们(或通过删除所有表)来添加此列:
工匠移民:刷新-种子
工匠迁移:重置
在两种情况下我都会收到错误:
Illuminate \ Database \ QueryException:SQLSTATE [42S22]:找不到列:1054'where子句'中的未知列'users.deleted_at'(SQL:select exist(select * from
users
其中users
。deleted_at
为null),如exists
)
我不明白。如果我要恢复迁移,则工匠只应在我的User类上调用down()方法:
public function down()
{
Schema::dropIfExists('users');
}
如果未找到列,则拖放表应该不会失败。
P.S。我正在使用docker-compose运行php,mysql,artisan,composer,nginx和nodejs-如果可能的话。
使用php artisan refresh
将回滚所有表,然后将其全部向上。如果您确定要擦除当前使用的所有内容。
php artisan migrate:fresh --seed
这将强制删除所有内容并重新开始
请参阅the docs了解更多信息
[migrate:fresh命令将从数据库中删除所有表,然后执行migrate命令: