Tyro Checkpoint: миттєві знімки SQLite для локальної розробки на Laravel

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 12 березня, 2026
Втомилися, коли міграції чи сидери псують локальну SQLite і доводиться відновлювати все вручну? Tyro Checkpoint робить іменовані знімки вашої бази й миттєво відновлює їх — як Git для локальної бази, з підтримкою шифрування та зручного керування.

Якщо ви коли-небудь запускали міграцію, що зламала локальну 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, а повну документацію читайте на сайті проєкту.

Популярні

Logomark Logotype

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

4 поширені помилки Vite у Laravel

Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку