我有一个很好的工作Laravel结构与数据库迁移和播种.但是我想将我的迁移文件,类,db表重命名为CreateOrganizationsTable而不是CreateOrganisationsTable
所以我更改了迁移文件名,所有类和路由.
但是当我php artisan migrate:reset在我的Homestead框中执行时,我收到以下错误:
PHP Fatal error: Class 'CreateOrganisationsTable' not found in /home/vagrant/Code/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php on line 299
Run Code Online (Sandbox Code Playgroud)
Artisan创造了一些我目前无法修复的链接.
Dut*_*IFF 31
正如士气所提到的,您必须在新迁移之前重置或回滚到某一点,或手动进行更改.我知道这一点,但在仅更改时间戳以使迁移以不同的顺序运行后仍然遇到问题.
composer dump-autoload即使您没有更改类名,也必须运行.
小智 6
问题在于,当您运行migrate:reset命令时,工匠想在所有类上调用down方法。而且自从您将班级重命名后,他再也找不到了!
因此,在重命名您的类和/或文件之前,运行php artisan migrate:reset会清理您的数据库并删除所有表,然后简单地运行即可php artisan migrate。您应该再次拥有一个正常工作的数据库。
如果该migrate:reset命令仍然不起作用,则可以简单地手动删除表(不要忘记同时删除迁移表)并php artisan migrate再次运行。
编辑:如果您实际上不想运行migrate:reset,而只是重命名迁移,则可以编辑文件名(和类)。但是之后,您必须手动编辑migrations数据库中的表。找到相应的行,然后编辑文件名以匹配新名称。
小智 6
我在使用 php artisan:rollback 时遇到了类似的问题,我刚刚打开了我的 Laravel 项目并转到了下一个目录:
供应商\作曲家\autoload_static.php
并修改了已更改的 php 迁移名称,希望对您有所帮助:)
| 归档时间: |
|
| 查看次数: |
17738 次 |
| 最近记录: |