2013-12-22 3 views
3

Я следую Dayle Rees's tutorial on migrations in Laravel 4. (И посмотрите ссылку, чтобы понять мой вопрос). Я пытаюсь сделать некоторые файлы миграции, используя Artisan. Я в пункте начинающегося «Мы просто запустить ...», а затем с помощью команды пример Artisan:Artisan migrate: make --create command not making Schema :: create()

php artisan migrate:make create_users --create --table=users 

... а затем в результате кода (сниппета):

public function up() 
{ 
    Schema::create('users', function(Blueprint $table) 
    { 
     $table->increments('id'); 
     $table->timestamps(); 
    }); 
} 

Но когда Я запускаю ту же команду ремесленника, я этого не понимаю. Я получаю это вместо этого:

public function up() 
{ 
    Schema::table('users', function(Blueprint $table) 
    { 
     // 
    }); 
} 

Почему?

Возможно, это результат чуть более поздней версии Laravel, чем мистер Рис использовал для этого учебника, но самая неприятная/загадочная вещь заключается в том, что команда ремесленника --create не работает должным образом, т.е. он выводит

Schema::table() 

вместо

Schema::create() 
+0

Вы правы. Это происходит и со мной. Как вы знаете, изменение «таблицы» для «создания» устраняет любые возникающие проблемы. –

+0

Спасибо, Джеймс. Рад слышать, что я ничего не забываю. Немного раздражающе, надеюсь, они это исправит. – Inigo

+1

FYI, Джеймс, я дошел до конца этого - см. Мой ответ ниже. – Inigo

ответ

14

ОК, для тех, кто читает это, я нашел ответ. Я думаю, что, возможно, это ошибка в учебнике Дейл Рис. После docs, команда ремесленник должен быть

php artisan migrate:make create_users_table --create=users 

Таким образом, мораль этой истории состоит в том, что, когда миграция для создания таблицы, соответствующая команда должна быть

php artisan migrate:make class_name --create=table_name 

При изменении , команда

php artisan migrate:make class_name --table=table_name 
+0

Свой php artisan make: migration create_users_table --create = users не перенос: make –

+0

Да, они изменили его в Laravel 5. Для Laravel 4 (к которому относится этот вопрос) команда 'migrate: make'. – Inigo

+0

Но они не будут использовать laravel 4 сегодня .. –

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