Laravel Migration - 表未创建

时间:2013-09-21 05:20:51

标签: mysql laravel laravel-4

我正在努力学习Laravel。我正在关注Quickstart文档但遇到了迁移问题。我正迈出这一步:http://laravel.com/docs/quick#creating-a-migration

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

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

在数据库中,我看到用1条记录创建的migrations表。但是,我没有看到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');
    }

}

1 个答案:

答案 0 :(得分:7)

更新后的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