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 [重复]

php artisan migrate-laravel 的问题

Laravel 5.1 - `php artisan migrate` 给出了 'PDOException'