我目前正在与Laravel合作开发CMS的课程。我想对页面进行一些更改,因为我想给他们一个“位置”特征来更改顺序。我以为我可以删除表,然后运行“ php artisan migration”,然后再次播表。现在,我总是收到以下错误消息:
C:\xampp\htdocs\siggen-cms>php artisan migrate
In Connection.php line 664:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'siggen-cms.pages' doesn't exist (SQL: select * from `pages`)
In Connection.php line 326:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'siggen-cms.pages' doesn't exist
有谁能解决这个问题。所有关于stackoverflow的类似问题都没有帮助。
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pages', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->string('url')->unique();
$table->text('content');
$table->integer('position')->unique();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pages');
}
}
答案 0 :(得分:1)
可能导致此问题的潜在问题:
更有可能基于您说“我认为我可以删除表,然后运行” php artisan migration”,您实际上并没有创建表,因为您的迁移没有针对该特定表激活。IE根据数据库迁移表,页面文件的迁移已在运行,因此不会触碰该迁移文件。
a。要解决此问题,您可以删除整个数据库并从头开始,可以尝试回滚迁移,或者要进行快速修复,请删除此迁移文件所在的迁移表中的行。 IE --driver-java-options='-Dparam=value'
,在页面文件迁移所在的行中找到pages
,然后删除该行。然后,下次您运行SELECT * FROM migrations
时,它将创建该表。
答案 1 :(得分:0)
感谢大家的帮助。 我仍然不知道错误的原因,但我已解决。 我只需要注释掉“ RouteServiceProvider”中的所有方法。 有人知道为什么这会导致Laravel崩溃吗?