Как создать проект на Laravel Sail с БД Postgresql?

Чтобы создать проект на Laravel Sail с БД PostgreSQL, вам потребуется выполнить несколько шагов.

Шаг 1: Установка Docker и Laravel Sail
Сначала убедитесь, что у вас установлен Docker на вашем компьютере. Затем установите Laravel Sail, интегрированный докер-компоуз проекта Laravel. Вы можете установить Laravel Sail, выполнив следующую команду в терминале:

composer require laravel/sail --dev

Шаг 2: Создание нового проекта Laravel Sail
Создайте новый проект Laravel Sail с помощью следующей команды:

php artisan sail:install

Эта команда настроит Laravel Sail и создаст файл docker-compose.yml в корневой папке вашего проекта.

Шаг 3: Конфигурация БД PostgreSQL
Откройте файл docker-compose.yml, созданный в предыдущем шаге, и найдите раздел services. В этом разделе вы можете конфигурировать контейнеры Docker, включая PostgreSQL.

Добавьте следующий код в раздел services, чтобы настроить контейнер PostgreSQL:

services:
  postgres:
    image: postgres:12
    ports:
      - '${FORWARD_DB_PORT:-5432}:5432'
    environment:
      POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
      POSTGRES_USER: '${DB_USERNAME:-postgres}'
      POSTGRES_DB: '${DB_DATABASE:-laravel}'

В этом примере используется официальный образ PostgreSQL версии 12. Вы можете настроить порт и учетные данные, используя переменные окружения.

Шаг 4: Запуск проекта с БД PostgreSQL
Чтобы запустить проект с БД PostgreSQL, выполните следующую команду:

sail up -d

Эта команда запустит контейнеры Docker, включая контейнер PostgreSQL в фоновом режиме.

Шаг 5: Настройка Laravel для использования PostgreSQL
Откройте файл .env в корневой папке вашего проекта и внесите следующие изменения:

DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=postgres
DB_PASSWORD=secret

В этом примере мы используем значения по умолчанию для имени пользователя и пароля, которые были определены в docker-compose.yml. Если вы изменили эти значения, убедитесь, что они соответствуют вашему конфигурации.

Шаг 6: Запуск миграций и тестирование
Теперь, когда ваш проект настроен с БД PostgreSQL, вы можете запустить миграции, чтобы создать необходимые таблицы:

sail artisan migrate

Вы также можете запустить свои тесты, чтобы убедиться, что ваш проект работает корректно с использованием БД PostgreSQL:

sail test

Это детальный процесс создания проекта Laravel Sail с БД PostgreSQL. Убедитесь, что вы установили Docker и Laravel Sail, настроили контейнер PostgreSQL и обновили файл .env с правильными параметрами, чтобы ваш проект успешно работал с БД PostgreSQL.