Я начал изучать Laravel всего час назад и после учебников.
Мои настройки для базы данных следующие (File: app / config / database.php):
'default' => 'mysql', 'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'laraveltest', 'username' => 'root', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ),
В mySQL на усадьбе я уже создал laraveltest
данных laraveltest
. Я также создал файл миграции в каталоге database/migration
со следующим кодом:
public function up() { Schema::create('users', function($table) { $table->increments('id'); $table->string('email')->unique(); $table->string('name'); $table->timestamps(); }); }
и команды миграции:
vagrant@homestead:~/Code/Laravel$ php artisan migrate Migration table created successfully. Migrated: 2014_08_14_195103_create_users_table
Как показано, пользователи таблицы создаются, но в базе данных homestead
, а не в laraveltest
данных laraveltest
. Может кто-нибудь рассказать, где я поступил не так, и как заставить laravel использовать laraveltest
данных laraveltest
?
Редактировать после первого комментария Файл: bootstrap / start.php
$env = $app->detectEnvironment(array( 'local' => array('homestead'), ));
Это, скорее всего, проблема с средой. Убедитесь, что у вас есть файл конфигурации базы данных в app / config / local /, и убедитесь, что у него есть правильные настройки.
Если кто-то найдет, что ищет ответ для Laravel 5 или новее: это то же самое, что и @camroncade, но в этом случае это ваш .env
файл в корне проекта, на который вы хотите посмотреть.
В настоящее время я занимаюсь этой проблемой. Изменен файл .env много раз, а также файл config.php. Ничто, казалось, не сработало. Сделав некоторое углубление в рамки, я нашел приемлемое временное решение проблемы, которое не противоречит ЛЮБОЙ из Исключения Laravel 5.0.2.
ПРИМЕЧАНИЕ. В настоящее время я использую Ampps 3.4 с php 7.0.2 phpmyadmin 4.4.15.1 на ОС Windows 8.1
Внутри файла « ConnectionFactory.php » Этот файл находится в «laravel \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connectors» Прокрутите вниз до « public function make », расположенного по строке 41. Внутри этой функции вы можете сделать после этого утверждения
$ config = $ this-> parseConfig ($ config, $ name);
который должен быть в строке 43 :
$ config ['database'] = 'Ввести имя вашей базы данных здесь';
Это изменение позволит Laravel продолжить его нормальный процесс, не оказывая негативного влияния ни на что с каркасом или вашим проектом. Это до тех пор, пока эта ошибка не будет устранена создателями Laravel или сообщества.
До тех пор счастливое кодирование! знак равно