2013-09-21 5 views
2

Я пытаюсь узнать Laravel. Я следую документации Quickstart, но у меня возникла проблема с Migrations. Я на этом этапе: http://laravel.com/docs/quick#creating-a-migrationLaravel Migration - таблица не создается

Когда я запускаю команду php 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?

EDIT 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'); 
    } 

} 

ответ

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

+1

Я не мог откатить, так как «пользователи» таблицы не может быть отброшен, если он не был создан, в первую очередь. Вместо этого я меняю базу данных вручную. Ваш код работал. Почему? Я шаг за шагом следил за учебником. – StackOverflowNewbie

+0

Я думаю, что в первый раз вы не написали код для создания таблицы или не вставили вверх и вниз. Работает ли он сейчас? – devo

+1

Я не писал оригинальный код. Я просто следил за инструкциями. Я обновил свой вопрос и разместил исходный файл миграции. Почему это не сработало? Почему ваш код работает? – StackOverflowNewbie

Смежные вопросы