2015-09-24 3 views
0

Я новичок в laravel. Я использую усадьбу для развития. У меня есть два подключения к базе данныхLaravel homestead: Неизвестная база данных 'projectadmin_db'

database.php

'cust_main_db' => [ 
     'driver' => 'mysql', 
     'host'  => 'localhost', 
     'database' => 'project_db', 
     'username' => 'homestead', 
     'password' => 'secret', 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 
    'admin_main_db' => [ 
     'driver' => 'mysql', 
     'host'  => 'localhost', 
     'database' => 'projectadmin_db', 
     'username' => 'homestead', 
     'password' => 'secret', 
     'charset' => 'utf8', 
     'collation' => 'utf8_unicode_ci', 
     'prefix' => '', 
     'strict' => false, 
    ], 

Homestead.yaml

databases: 
    - homestead 

В моей локальной MySQL имеет обе базы данных project_db и projectadmin_db

Когда я запускаю проект http://homestead.app:8000/ его SQLSTATE[HY000] [1049] Unknown database 'projectadmin_db'

Что я пропустил? Исправьте меня, если что-то не так.

ответ

0

На моделях, использующих projectadmin_db базу данных, вам нужно добавить

protected $connection = 'admin_main_db'; 
1

При запуске приложения в Homestead, он ищет базы данных в Homestead и не вашего фактического локального хоста. Вы можете подключиться к MySQL Homestead через 127.0.0.1:33060.

+0

База данных Homestead 33060, отображаемая по умолчанию 3306 справа? –

+0

Да, ваш конфигуратор приложения должен быть по умолчанию 3306. Я имел в виду, что если вы используете Sequel Pro, Navicat или подобное приложение, вы должны указать порт как 33060 для подключения Homestead MySQL вместо вашего локального MySQL, который находится на уровне 3306. – Hkan

0

убедитесь, что вы используете Homestead порт 33060 по умолчанию, при создании баз данных,

т.е. вы создали свои базы данных на гостевой виртуальной машине не на хост-машине.

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