Якщо ви коли-небудь запускали міграцію, що зламала локальну SQLite-базу, або seeder, який стер ретельно підготовлені тестові дані, і хотіли б повернутися точно до початкового стану — Tyro Checkpoint створено саме для цього. Створений Hasin Hayder, цей пакет тільки для розробки під Laravel дозволяє робити іменовані знімки вашої SQLite-бази й відновлювати їх миттєво, без повторного запуску міграцій чи seeder-ів.
Tyro Checkpoint зберігає повні копії файлу SQLite поза самою базою. Метадані (імена, мітки часу, нотатки, статус блокування) фіксуються у файлі checkpoints.json, тож відновлення знімка не стирає історію контрольних точок. Уявіть собі це як Git-коміти для стану вашої локальної бази.
composer require hasinhayder/tyro-checkpoint --dev
php artisan tyro-checkpoint:install
Команда встановлення перевіряє конфігурацію бази й створює директорію storage/tyro-checkpoints/, куди зберігаються знімки.
Створити точку — одна команда:
php artisan tyro-checkpoint:create [snapshot_name]
Щоб переглянути всі знімки:
php artisan tyro-checkpoint:list
Коли потрібно відкотитися:
php artisan tyro-checkpoint:restore [snapshot_name]
Можна відновлювати за іменем або за ID. Знімки лишаються доступними, тож їх можна відновлювати багаторазово під час тестування без повторного створення.
Пакет має кілька команд для організації контрольних точок:
| Команда | Опис |
|---|---|
tyro-checkpoint:add-note [id] |
Додати нотатку до контрольної точки |
tyro-checkpoint:lock [id] |
Захистити точку від видалення |
tyro-checkpoint:unlock [id] |
Зняти захист |
tyro-checkpoint:delete [id] |
Видалити конкретну точку |
tyro-checkpoint:flush |
Видалити всі незаблоковані точки одразу |
Блокування корисне для збереження чистої бази — заблокуйте точку, і tyro-checkpoint:flush її не зачепить.
Для робочих процесів із даними, наближеними до продакшену, пакет підтримує AES-256 шифрування файлів. Спочатку згенеруйте ключ:
php artisan tyro-checkpoint:generate-key
Додайте ключ у файл .env як TYRO_CHECKPOINT_ENCRYPTION_KEY, і нові знімки шифруватимуться автоматично.
Примітка: якщо ви втратите або зміните ключ шифрування, знімки, створені з попереднім ключем, стануть недоступними.
Щоб змінити шлях збереження, опублікуйте файл конфігурації:
php artisan tyro-checkpoint:publish-config
Це створить config/tyro-checkpoint.php, де можна вказати директорію для знімків і налаштувати шифрування.
Кожна контрольна точка — повна копія файлу бази, тож використання диску зростає з кожним знімком. Команда flush допомагає прибирати, але заблоковані точки потрібно видаляти вручну. Це не інструмент для продакшен-резервного копіювання — лише зручність для локальної розробки.
Код доступний на hasinhayder/tyro-checkpoint на GitHub, а повну документацію читайте на сайті проєкту.
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку