迁移 Laravel 中的特定表

migrating a specific table in laravel

提问人:micky 提问时间:3/5/2016 更新时间:7/17/2022 访问量:4735

问:

using 命令迁移所有表。但是我有与其他表一起迁移的 employees 表。但它没有被迁移(我在phpmyadmin中看不到它)。现在,当我再次使用命令时,它不会显示任何要迁移的内容。如何迁移该特定员工表?php artisan migratephp 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 laravel cmd 命令 laravel-artisan

评论

0赞 Bogdan 3/5/2016
运行时是否出现任何错误?顺便说一句,你不应该在迁移中看到数据库,这就是 Seeder 类的用途。php artisan migrate
0赞 micky 3/5/2016
没有错误。它不显示任何内容migrate.@Bogdan
0赞 Bogdan 3/5/2016
那么这可能意味着之前已经迁移了 employees 表迁移。您之前是否运行过该迁移。如果你这样做了,你需要回滚它。您可以检查数据库的表,看看是否能找到迁移文件名。如果它是最后一批,则可以使用撤消这些更改并再次尝试运行它。migrationsphp artisan migrate:rollback
0赞 Siddharth 3/5/2016
试试 php artisan migrate:refresh,然后查看该表是否已迁移。其他方面,没有办法按照我的猜测迁移单个表。
0赞 jafi kay 11/14/2019
看看这个答案对我有用。

答:

0赞 Tuhin 9/2/2021 #1

对于“特定文件”,请运行以下命令:

php artisan migrate path="database/migrations/Your_Migration_File_Name_table.php"

3赞 GeorgeKN 7/17/2022 #2

别忘了添加:--path

例如

php artisan migrate --path="database/migrations/2025_07_16_145318_create_expression_of_interests_table.php"