已删除的迁移文件被执行:Laravel 应用程序
Posted
技术标签:
【中文标题】已删除的迁移文件被执行:Laravel 应用程序【英文标题】:Deleted migration files getting executed : Laravel application 【发布时间】:2018-01-02 15:20:30 【问题描述】:我已经删除了一些迁移文件。但是当我执行 php artisan migrate 命令时,显示旧迁移文件中的错误。
[照亮\数据库\查询异常] SQLSTATE[HY000]:一般错误:1215 无法添加外键约束 (SQL : alter table
cushbu_notifications
添加约束cushbu_notifications_art_id_foreign
外键 (art_id
) 在删除级联上引用cushbu_arts
(id
)
现在我没有 cushbu_notifications 的迁移文件,而是为 cushbu_user_notifications 创建了一个新的迁移文件。我从数据库中删除了 cushbu_notifications 表,以及迁移表中的相应条目。
【问题讨论】:
你试过运行'composer dump-autoload'吗? 是的,我试过了。但没有解决问题 你试过从数据库中删除表吗?如果你删除迁移文件,你也应该从数据库中删除表。 我已经删除了,问题中提到了 【参考方案1】:从迁移表中删除该条目。如果在另一个迁移文件中使用了引用,还删除引用。
【讨论】:
我已删除,问题中提到 如果在另一个迁移文件中使用了引用,也会删除引用 没有其他迁移文件只有一个迁移文件存在【参考方案2】:手动删除迁移文件后,通过以下命令清除缓存,然后迁移
php artisan cache:clear
然后
php artisan migrate
【讨论】:
【参考方案3】:手动删除迁移文件不会将它们从 Laravel 缓存中删除。你可以通过执行这个来移除它们。
php artisan optimize
【讨论】:
以上是关于已删除的迁移文件被执行:Laravel 应用程序的主要内容,如果未能解决你的问题,请参考以下文章