laravel中的迁移文件用于创建数据库中的表,对吧?但是,当过我尝试迁移它给了我这个错误:我怎么不能在laravel中迁移
C:\xampp\htdocs\app>php artisan migrate
[Illuminate\Database\QueryException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists (SQL: create table
users
(id
int unsigned not null auto_increment primary key,name
varchar(255) not null,password
varchar(255) not null,remember_token
varchar(100) null,created_at
timestamp null,updated_at
tim estamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)[PDOException] SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'users' already exists
和我创建了一个新的迁移文件,这就是所谓的测试。我知道用户已经存在,但我想创建一个名为test的新表。
这里是迁移文件我打算用它来创建我的表,但不会创造:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTestsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('tests', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('tests');
}
}
这里是用户迁移文件,告诉我它存在:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
这里密码迁移文件:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePasswordResetsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('password_resets', function (Blueprint $table) {
$table->string('email')->index();
$table->string('token');
$table->timestamp('created_at')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('password_resets');
}
}
这里是傻瓜迁移文件我有,我没有说话大约因为我认为这不是问题:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateDummiesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('dummies', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('body');
$table->timestamp('date'); //if you dont put name for the timestamp it will create: create_at and update_at fields.
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('dummies');
}
}
,并保持你们等着,我花了长时间才找到的编辑按钮和修复我的代码的间距遗憾。这是我第一次使用堆栈溢出。
我放弃我的数据库中的所有表和它仍然不会创建我的新表。它只创建我的用户表和迁移表。它没有创建我的测试表。 – Lami
@Lami这次你收到了什么错误?你可以发布你的所有迁移代码(包括文件名)。 – fubar
@Lami,您可以向我们发送您的测试移植代码。 –