153 слов | 1 минута
Laravel: локальная разработка и деплой
Рабочий процесс Laravel: SQLite для локальной разработки, MySQL на production, деплой через Git.
Локальная настройка (Mac / Linux)
Стек: PHP (Homebrew), SQLite, Laravel.
-
Создайте файл базы данных SQLite:
touch database/database.sqlite -
Настройте
.envдля использования SQLite:DB_CONNECTION=sqlite # Остальные DB_* параметры — удалить или закомментировать -
Инициализация:
composer install php artisan key:generate php artisan migrate -
Запуск:
php artisan serve
Работа в PhpStorm
- Интерпретатор:
Settings > Languages & Frameworks > PHP→ выберите PHP из Homebrew (/opt/homebrew/bin/php). - Просмотр БД: вкладка Database →
+→ Data Source → SQLite → выберитеdatabase/database.sqlite. - Исключения из 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— интерактивная консоль для работы с базой.