如何解决Laravel没什么可迁移的
我使用命令php artisan make:migration migration_name
和php artisan make:model ModelName -mcr
在Laravel项目上创建了迁移。
当我运行php artisan migrate
时,输出为nothing to migrate
。
我检查我的数据库,只有migration
表没有行,甚至没有创建来自Laravel的user
表。
此问题在我的笔记本电脑和PC上发生
这是我用来使用XAMPP运行Laravel的环境
- Laravel 7.24和Laravel 5.8.38
- Apache / 2.4.39(Win64)
- PHP 7.3.7
- MariaDB 10.3.16
- Composer 1.10.10
这是迁移代码
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
//File name = 2020_08_11_064146_create_category_table.php
//File Path = database/migrations
class CreateCategoryTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('category',function (Blueprint $table) {
$table->id();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('category');
}
}
我已经尝试过这些,但是没有发现运气:
- 运行
composer dump-autoload
- 运行
php artisan migrate:reset
->无需回滚 - 运行
php artisan migrate:fresh
->成功删除所有表,迁移表成功创建,无任何迁移 - 运行
php artisan migrate --path="/database/migrations/"
->无需迁移 - 运行
php artisan migrate:status
->找不到迁移 - 运行
php artisan migrate:install
->迁移表创建成功,但没有解决问题
TLDR :
我的意思是:
- 使用作曲家下载Laravel
- 编辑
.env
以使用用户root
连接到数据库 - 使用
php artisan make:migration create_table_category
创建迁移 - 运行
php artisan migrate
- 结果=
Migration table create successfully,nothing to migrate
。数据库只有表migrations
,没有行
编辑
如果我用文件名php artisan migrate --path="database/migrations/2020_08_11_064146_create_category_table.php"
完全指定路径,则可以运行迁移
解决方法
对于这种情况,此答案不是最佳解决方案,但是您可以尝试在AppServiceProvider
中定义迁移路径:
/**
* Register Custom Migration Paths
*/
$this->loadMigrationsFrom([
database_path().DIRECTORY_SEPARATOR.'migrations'
]);/
,
我偶然发现this post,它描述了由项目路径引起的带有字符连字符'-'的问题
我的项目没有这些字符,但是有'奇怪'的字符,即开括号和方括号'[]',所以我想更改它。
我的根项目目录路径为F:\Indra\Kerja\[1] Personal\Personal profile\web
,所以我的迁移路径为F:\Indra\Kerja\[1] Personal\Personal profile\web\database\migrations
请注意,有一个名为[1] Personal
的文件夹,这是罪魁祸首
我已将文件夹重命名为Personal
,并确保迁移正常进行。
我很好奇,所以尝试使用不同的文件夹名称,得到的结果很有趣:
-
[asdasd]Personal
-> 由于某种原因迁移不起作用 -
[1 Personal
->迁移工作 -
]1Personal
->迁移工作 -
][1 Personal
->迁移工作 -
[]Personal
->迁移工作
所以我必须更改我的文件夹名称
重要提示:
- 我的操作系统是Windows 10 Pro版本1909 Build 18363.1082
- 我还试图像这样
F:\Indra\Kerja\my-project-test
一样在项目目录中添加连字符'-',并希望迁移不会成功,但是迁移不会出现问题
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。