使用Laravel Migrations

时间:2017-12-13 05:25:17

标签: laravel migration

所以我从以前的数据库设置中获得了很多迁移文件。我想将这些文件应用到新数据库中。例如,如果我从头开始,我会做这样的事情:

php artisan make:migration create_users_table

然后:

php artisan migrate

每个迁移文件。但由于我已经拥有了所有的迁移文件,有没有办法跳过所有的make:migration部分并让它创建相应的表?

我试过了:

php artisan migrate --force

但它不起作用。这样做的正确方法是什么?这是Laravel 5.5的干净安装。

我收到此错误:

enter image description here

这是发生错误的架构:

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('username');
            $table->string('email')->unique();

            $table->string('password');
            $table->rememberToken();

            $table->timestamp('created_at');
            $table->timestamp('updated_at');
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

2 个答案:

答案 0 :(得分:0)

我无法发表评论,因此将此作为答案发布。

尝试 $ table-> timestamps();

不要单独编写created_at和updated_at。

也试试这个: -

$table->string('remember_token', 100) -> nullable();

这似乎是现在最后的希望。

尝试$table->timestamps() -> nullable();

答案 1 :(得分:0)

在我的MySQL配置中设置严格为this.router.navigate(['../', { id: heroId, foo: 'foo' }, {relativeTo: this.route}]); true.env)。

config/database.php