Skip to content

Latest commit

 

History

History
39 lines (29 loc) · 2.16 KB

File metadata and controls

39 lines (29 loc) · 2.16 KB

База даних LifeOS

Бот використовує SQLite (без залежності від CGO) для зберігання всіх даних. Це робить додаток легким у розгортанні та портативним.

📁 Розташування та підключення

  • За замовчуванням база зберігається у файлі lifeos.db в корені проекту.
  • DSN для підключення: sqlite:lifeos.db?cache=shared&mode=rwc.

🔄 Міграції

Міграції керуються через бібліотеку golang-migrate та виконуються автоматично при старті додатка. Файли міграцій розташовані у: internal/infrastructure/persistence/sqlite/migrations/.

Управління міграціями:

  • Запуск міграцій: make db-migrate
  • Скидання бази: make db-reset (видаляє файл бази та створює нову структуру)

📊 Основні таблиці

1. users

Зберігає профілі користувачів Telegram та їхні налаштування.

  • id: Внутрішній UUID.
  • telegram_id: ID користувача в Telegram (унікальний).
  • onboarding_status: Поточний крок знайомства з ботом.

2. notes

Текстові замітки з підтримкою архівування.

  • is_archived: Флаг для прихованих нотаток.

3. tasks

Задачі з пріоритетами та статусами.

  • priority: 1 (Low) до 4 (Critical).
  • status: 0 (Backlog), 1 (InProgress), 2 (Done), 3 (Cancelled).

4. habits

Щоденні звички.

  • habit_entries: Окрема таблиця для логування кожної відмітки виконання.

🛠️ Перегляд даних

Ви можете відкрити файл lifeos.db за допомогою будь-якого SQLite клієнта (напр., DB Browser for SQLite) для ручного аналізу даних.