Laravel的Artisan没有说要迁移

tot*_*dli 28 php database-migration laravel

我安装了迁移,php artisan migrate:install然后使用该php artisan migrate:make create_teams_table命令创建了迁移.现在我尝试使用我根据官方文档制作的以下命令运行它们:

php artisan migrate --path=app/foo/migrations/2014_01_21_143531_create_teams_table.php
Run Code Online (Sandbox Code Playgroud)

这在控制台上给了我以下内容:

什么都没有迁移.

migrations数据库中的表为空,并且不会创建新表.我不明白为什么文档foo在路径中说.什么foo意思,它来自哪里?首先我认为路径是错误的,因为foo我知道路径是相对于app文件夹所以我改变它app/database/migrations但它不起作用.我也尝试了很多其他路径组合,但没有一个工作.

我走错了路吗?在这种情况下,控制台不应该显示其他一些有用的消息吗?什么foo意思?我该如何运行迁移?

小智 30

试试这个:

第一:

php artisan migrate:reset
Run Code Online (Sandbox Code Playgroud)

回滚: 2014_03_28_142140_user_table

没有什么可以回滚的.

第二:

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

迁移: 2014_03_28_142140_user_table

检查数据库.

  • 如果存在现有数据并且您不想丢失它,请先将其导出(备份)。 (2认同)

Ant*_*son 13

foo件事只是一个例子.Laravel将寻找app/database/migrations默认情况下运行的迁移.尝试删除该--path参数,看看它是否有效.

  • 关于迁移的事情是它们应该作为批处理工作.你应该能够毫无困难地运行`php artisan migrate:refresh`.所以考虑到这一点,我会说删除/移动那些破碎的并保留好的. (8认同)

Vah*_*iri 12

您不需要将迁移文件移动到任何地方,只需更改其文件名即可;例如,增加时间整数,然后migrate使用指向迁移的路径运行命令。例如:php artisan migrate --path="database/migrations/2019_07_06_145857_create_products_table.php"


小智 11

需要删除migrations表的2014_01_21_143531_create_teams_table。

  1. 转到数据库(phpmyadmin)
  2. 打开您的数据库名称。3.打开迁移表。
  3. 删除 2014_01_21_143531_create_teams_table 行


jmi*_*ler 8

假设您有一个名为my_migration.php的迁移文件

 php artisan migrate:make create_user_table --path=app/database/migrations/user_migrations/
Run Code Online (Sandbox Code Playgroud)

本来适合你.


Jan*_*ski 8

什么帮助了我:

php artisan config:cache
php artisan migrate
Run Code Online (Sandbox Code Playgroud)