【发布时间】:2016-06-19 06:37:05
【问题描述】:
使用命令php artisan migrate 迁移所有表。但我有员工表,我与其他表一起迁移。但它没有被迁移(我在 phpmyadmin 中看不到它)。现在,当我再次使用 php artisan migrate 命令时,它不会显示任何要迁移的内容。如何迁移该特定员工表?
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class Employees extends Migration
{
public function up()
{
Schema::create('employees', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('contact_number');
$table->timestamps();
});
$faker = Faker\Factory::create();
$limit = 33;
for ($i = 0; $i < $limit; $i++) {
DB::table('employees')->insert([ //,
'name' => $faker->name,
'email' => $faker->unique()->email,
'contact_number' => $faker->phoneNumber,
]);
}
}
public function down()
{
Schema::drop('employees');
}
}
【问题讨论】:
-
您在运行
php artisan migrate时是否遇到任何错误?附带说明一下,您不应该在迁移中看到数据库,这就是 Seeder Classes 的用途。 -
没有任何错误。它没有显示任何要迁移的内容。@Bogdan
-
那么很可能是employees表迁移过。您之前是否运行过该迁移。如果你这样做了,你需要回滚它。您可以检查数据库的
migrations表,看看是否可以找到迁移文件名。如果它在最后一批中,那么您可以使用php artisan migrate:rollback撤消这些更改并尝试再次运行它。 -
尝试 php artisan migrate:refresh 然后查看该表是否已迁移。否则,根据我的猜测,没有办法迁移单个表。
-
看看这个answer为我工作。
标签: php laravel cmd command laravel-artisan