Laravel Artisan Migrate 命令创建表但不将每个迁移文件填充到迁移表
Posted
技术标签:
【中文标题】Laravel Artisan Migrate 命令创建表但不将每个迁移文件填充到迁移表【英文标题】:Laravel Artisan Migrate Command creating tables but not filling every migration file to migrations table 【发布时间】:2020-10-16 00:03:23 【问题描述】:已经使用 Laravel 一年多了。我的迁移文件夹目前有 39 个文件,我偶尔会使用(构建/销毁)我的数据库。
由于我创建了“create_payments_table”迁移,我执行的每个迁移命令都会正常构建我的所有表,但是当将迁移历史记录登录到我的迁移表时,它会在“create_payments_table”迁移处停止。所以现在当我创建新的迁移并再次运行迁移时,它会尝试从我已经存在的付款表重新启动,这给了我一个错误。将我的“create_payments_table”迁移与上次记录的迁移文件“create_pictures_table”进行比较,似乎一切都井井有条。想知道为什么我的迁移创建了这些表,但并非所有这些表都记录在迁移表中?
我的迁移表:
我的迁移文件夹:
如您所见,我添加了两个新的迁移,并希望在不必回滚迁移表的情况下运行它们。但是这样做时:
当工匠尝试再次运行 de pauments 迁移时,我收到此错误
【问题讨论】:
如果这 2 个表存在于您的数据库中,则删除这 2 个表。在您的数据库中,您有一个名为mugrations
的表去那里并删除以您的新迁移文件命名的 2 行。然后再次迁移
有 2 张桌子配对吗?我现在正在尝试创建的那些?不,它们不存在。伙计,也许我对我的问题不清楚,但请尝试再读一遍。
【参考方案1】:
您只能迁移特定的迁移文件:
php artisan migrate --path=/database/migrations/my_migration.php
my_migration
将是您的新迁移文件名,例如2020_06_20_221554_create_additional_users_table
【讨论】:
以上是关于Laravel Artisan Migrate 命令创建表但不将每个迁移文件填充到迁移表的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4 migrate:rollback with --path on artisan CLI
laravel php artisan migrate 错误(超时)
Laravel 5.2 php artisan migrate:回滚错误
laravel 错误 1071 密钥太长 php artisan migrate [重复]