153 слов | 1 минута

Laravel: локальная разработка и деплой

Рабочий процесс Laravel: SQLite для локальной разработки, MySQL на production, деплой через Git.

Локальная настройка (Mac / Linux)

Стек: PHP (Homebrew), SQLite, Laravel.

  1. Создайте файл базы данных SQLite:

    touch database/database.sqlite
    
  2. Настройте .env для использования SQLite:

    DB_CONNECTION=sqlite
    # Остальные DB_* параметры — удалить или закомментировать
    
  3. Инициализация:

    composer install
    php artisan key:generate
    php artisan migrate
    
  4. Запуск:

    php artisan serve
    

Работа в PhpStorm

  1. Интерпретатор: Settings > Languages & Frameworks > PHP → выберите PHP из Homebrew (/opt/homebrew/bin/php).
  2. Просмотр БД: вкладка Database+Data SourceSQLite → выберите database/database.sqlite.
  3. Исключения из Git: убедитесь, что .env и *.sqlite добавлены в .gitignore.

Деплой на сервер (production)

На сервере используется MySQL (настройки в серверном .env).

Первоначальный деплой

git clone <url_репозитория>
cp .env.example .env   # Прописать данные MySQL вручную
composer install --no-dev -o
php artisan key:generate
php artisan migrate

Обновление кода

git pull origin main
composer install --no-dev -o
php artisan migrate --force
php artisan config:cache   # Опционально, ускоряет загрузку

Заполнение базы данных (Factory + Seeder)

1. Создание фабрики

php artisan make:factory PostFactory

Заполните метод definition() в сгенерированном файле:

public function definition(): array
{
    return [
        'title'     => fake()->sentence(),
        'slug'      => fake()->slug(),
        'content'   => fake()->text(),
        'published' => true,
    ];
}

2. Регистрация в Seeder

Откройте database/seeders/DatabaseSeeder.php:

public function run(): void
{
    \App\Models\Post::factory(10)->create();
}

3. Пересоздание базы с данными

php artisan migrate:fresh --seed

Важные правила

  • Миграции: все изменения структуры БД — только через php artisan make:migration. Это синхронизирует SQLite локально и MySQL на сервере.
  • Безопасность: файл .env на сервере создаётся один раз вручную, Git его не трогает.
  • Совместимость: не используйте Raw SQL, специфичный для SQLite — применяйте Query Builder или Eloquent.

Полезные команды

  • php artisan migrate:rollback — откатить последнюю миграцию (локально).
  • php artisan make:controller NameController — создать контроллер.
  • php artisan tinker — интерактивная консоль для работы с базой.