3

我正在尝试学习 Laravel。我正在关注快速入门文档,但遇到了迁移问题。我在这一步: http: //laravel.com/docs/quick#creating-a-migration

当我运行 commandphp artisan migrate时,命令行显示以下内容:

c:\wamp\www\laravel>php artisan migrate
Migration table created successfully.
Migrated: 2013_09_21_040037_create_users_table

在数据库中,我看到一个migrations使用 1 条记录创建的表。但是,我没有看到一张users桌子。所以,我不能继续本教程的 ORM 部分。

有什么想法我可能做错了吗?为什么没有users创建表?

编辑 1(原始迁移文件):

<?php

use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
            Schema::create('users', function($table)
            {
                $table->increments('id');
                $table->string('email')->unique();
                $table->string('name');
                $table->timestamps();
            });
    }

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

}
4

2 回答 2

8

更新后的 Laravel 应该Blueprint用于创建数据库模式。所以尝试像这样更改您的用户迁移文件内容,

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateUsersTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function(Blueprint $table) {
            $table->integer('id', true);
            $table->string('name');
            $table->string('username')->unique();
            $table->string('email')->unique();
            $table->string('password');
            $table->timestamps();
            $table->softDeletes();
        });
    }

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

}

然后运行,

  php artisan migrate:rollback 

然后再次迁移。

在此处阅读API文档http://laravel.com/api/class-Illuminate.Database.Schema.Blueprint.html

于 2013-09-21T05:56:28.140 回答
0

我遇到了同样的问题,在搜索 Laravel 文档(链接到文档)之后,我找到了一个解决它的工匠命令:

php artisan migrate:refresh

migrate:refresh 命令将回滚所有迁移,然后执行 migrate 命令。此命令有效地重新创建您的整个数据库

于 2021-10-19T22:09:20.003 回答