replace manual SQL migration with goose (v3); embed migrations in binary; remove schema.sql / SCHEMA_PATH

This commit is contained in:
2026-06-24 19:20:48 +03:30
parent c959cb7a87
commit 4edff71bfd
8 changed files with 140 additions and 76 deletions

View File

@@ -12,18 +12,17 @@ docker compose up -d
## Environment Variables
| Variable | Default | Purpose |
| ------------------- | -------------------- | ----------------------------------------------------- |
| `BOT_TOKEN` | — | Telegram Bot API token **(required)** |
| `BOT_ALLOWED_USERS` | (all) | Comma-separated Telegram user IDs (empty = allow all) |
| `HTTP_PROXY` | — | Outbound HTTP proxy for Telegram API |
| `HTTPS_PROXY` | — | Outbound HTTPS proxy for Telegram API |
| `DB_PATH` | `db.sqlite3` | Path to SQLite database file |
| `SCHEMA_PATH` | `/app/db/schema.sql` | Path to SQL schema file |
| `BOT_WEBHOOK_URL` | — | Set for webhook mode (omit for long-polling) |
| `BOT_LISTEN` | `:8080` | Listen address for webhook mode |
| `BOT_TLS_CERT` | — | TLS certificate path (webhook HTTPS) |
| `BOT_TLS_KEY` | — | TLS key path (webhook HTTPS) |
| Variable | Default | Purpose |
| ------------------- | ------------ | ----------------------------------------------------- |
| `BOT_TOKEN` | — | Telegram Bot API token **(required)** |
| `BOT_ALLOWED_USERS` | (all) | Comma-separated Telegram user IDs (empty = allow all) |
| `HTTP_PROXY` | — | Outbound HTTP proxy for Telegram API |
| `HTTPS_PROXY` | — | Outbound HTTPS proxy for Telegram API |
| `DB_PATH` | `db.sqlite3` | Path to SQLite database file |
| `BOT_WEBHOOK_URL` | — | Set for webhook mode (omit for long-polling) |
| `BOT_LISTEN` | `:8080` | Listen address for webhook mode |
| `BOT_TLS_CERT` | — | TLS certificate path (webhook HTTPS) |
| `BOT_TLS_KEY` | — | TLS key path (webhook HTTPS) |
## Calendar Support
@@ -101,9 +100,9 @@ Four color themes are available in settings: **Ocean**, **Beach**, **Rose**, **C
│ │ ├── export.go Excel (.xlsx) report generation
│ │ └── dateutil.go Gregorian/Jalali/Hijri conversions & calendars
│ └── db/
── store.go SQLite store with auto-migration
├── db/
└── schema.sql Database schema
── store.go SQLite store
│ └── migrations/ Goose-managed SQL migrations
└── 001_init.sql Initial schema
├── .gitea/workflows/
│ └── ci.yml Gitea Actions CI
├── Dockerfile