在 laravel 中迁移特定表
Posted
技术标签:
【中文标题】在 laravel 中迁移特定表【英文标题】:migrating a specific table in laravel 【发布时间】: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为我工作。
【参考方案1】:
对于特定文件运行此命令:
php artisan migrate path="database\migrations\Your_Migration_File_Name_table.php"
【讨论】:
以上是关于在 laravel 中迁移特定表的主要内容,如果未能解决你的问题,请参考以下文章