【发布时间】:2019-10-08 14:05:34
【问题描述】:
在基本的 Laravel 应用程序中,我在 User 类中添加了:
使用软删除;
应用程序不再工作,因为 MySql 数据库的 User 表中没有 'deleted_at' 列。我正在尝试通过删除所有表并重新创建它们(或删除所有表)来添加此列:
工匠迁移:刷新 --seed
工匠迁移:重置
工匠迁移:新鲜
在所有情况下我都会收到错误:
Illuminate\Database\QueryException : SQLSTATE[42S22]: Column not found: 1054 Unknown column 'users.deleted_at' in 'where clause' (SQL: select exists(select * from
userswhereusers.deleted_at为空)为exists)
我不明白。如果我要恢复迁移,工匠应该只在我的 User 类上调用 down() 方法,即:
public function down()
{
Schema::dropIfExists('users');
}
如果未找到列,删除表不应该失败。
附:我正在使用 docker-compose 来运行 php、mysql、artisan、composer、nginx 和 nodejs——如果这很重要的话。
【问题讨论】:
-
你试过
php artisan migrate:fresh吗?
标签: mysql laravel database-migration laravel-5.8