Laravel + PostgreSQL на Linux Mint

Все руководства по миграциям в Laravel начинаются с описания миграций, которые добавляют таблицы к базе данных. Но нет создания самой базы данных. В этой статье описывается процесс создания БД и прописывание её в проекте Laravel. На примере Linux Mint 18.
Установка Laravel выполняется по его инструкции (тут на этом не останавливаемся).
Устанавливаем Postgres, GUI для этой СУБД и библиотеки (у меня для PHP 7.1):
sudo apt-get install postgresql pgadmin3 php7.1-pgsql
Переключаемся на супер пользователя:
sudo -i
Затем переключаемся на пользователя СУБД (сразу переключиться на нужного пользователя и выполнить нужную команду через sudo -u у меня не получилось):
su - postgres
Далее работаем с СУБД (основная часть этой шпаргалки) .
1. Создаём базу данных (у меня название БД - "fresh"):
createdb fresh
2. Подключаемся к созданной базе данных:
psql fresh

3. Просмотр всех баз данных:
\l
4. Нужно настроить доступ к свежеустановленному серверу Postgres. Для этого выходим из базы fresh (в моём примере) - Ctrl+d или в терминале командой:
\q
5. Заходим в сервисную базу postgres:
sudo -u postgres psql
6. Назначаем новый (первый) пароль:
\password
7. Проверяем, что работает соединение через TCP:
psql -U postgres -h localhost
8. Создаём отдельного пользователя (в моём примере - "admin_fresh") для новой базы данных:
CREATE USER admin_fresh WITH PASSWORD '123qweasdzxc';
9. Даём все права на базу данных новому пользователю:
GRANT ALL PRIVILEGES ON DATABASE fresh to admin_fresh;
10. Сменим владельца БД на нового пользователя:
ALTER DATABASE fresh OWNER TO admin_fresh;
11. Просмотр всех пользователей сервера Postgres:
\du
или SQL-запросом:
SELECT * FROM pg_user;
12. Отсоединяемся от БД:
\q
13. Соединяемся с новой БД под новым пользователем для проверки:
psql -d fresh -h localhost -U admin_fresh

Если соединение прошло успешно, то всё работает как надо и можно переходить к настройке Laravel.
1. Прописать настройки соединения в .env (тут данные для соединения с БД взяты из моего примера - у вас будут другие данные):
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=fresh
DB_USERNAME=admin_fresh
DB_PASSWORD=123qweasdzxc
2. Пробуем выполнить стандартные заготовки для аутентификации в свежем проекте Laravel (выполнять в каталоге проекта):
php artisan make:auth
и
php artisan migrate

В результате будут созданы нужные таблицы в БД и будет доступна страница авторизации /register
 На этом всё. Далее уже работают все остальные самоучители по Laravel. Успешных вам миграций!

Комментарии

Популярные сообщения из этого блога

Пропорциональное распределение суммы

Битрикс: своя геолокация

Bitrix24 API - разбор демо приложения третьего типа