хранилище переехало с PocketBase на SQLite со своим каталогом файлов
- база своя: два пула, захват одним UPDATE ... RETURNING, шаги схемы на goose под файловым замком, одна миграция начальной схемы вместо семи прежних - транспорт переписан на net/http: свои слои, свой ограничитель частоты, отдача файла с проверкой владельца; панель /_/ и пространство /api/ исчезли - по находкам ревью: журнал не пишет путь под корнем приложения, ключ бюджета читается справа налево, узнавание известного идёт читающим пулом
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// Package migrations — шаги схемы базы.
|
||||
//
|
||||
// Шаг лежит своим файлом, имя файла начинается версией, и **применённый шаг не
|
||||
// переписывается** — только новым файлом. Инвариант проекта держится так же, как
|
||||
// держался прежде: изменение схемы это новый шаг, а не правка уехавшего.
|
||||
//
|
||||
// Шаги лежат отдельным каталогом, а не файлом внутри пакета хранилища, по
|
||||
// внешней причине: сверка документов ловит изменённый шаг схемы при нетронутом
|
||||
// `docs/database.md` по префиксу пути (`.av-dev.toml`, ключ `migrations` секции
|
||||
// `[docs]`), а префикс наводится только на каталог.
|
||||
//
|
||||
// Регистрация идёт **перечнем**, а не глобальным списком библиотеки: провайдер
|
||||
// заводится в точке входа и получает этот перечень доводом, поэтому два
|
||||
// провайдера в одном процессе — например, сервис и проверка — не спорят за общее
|
||||
// состояние.
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"github.com/pressly/goose/v3"
|
||||
)
|
||||
|
||||
// All — шаги схемы в порядке версий.
|
||||
//
|
||||
// Порядок исхода от порядка этого перечня не зависит: библиотека сортирует шаги
|
||||
// по версии сама. Перечень собран ради того, чтобы шаг, добавленный файлом и
|
||||
// забытый здесь, не оказался незамеченным: незарегистрированный шаг не
|
||||
// накатывается вовсе.
|
||||
func All() []*goose.Migration {
|
||||
return []*goose.Migration{
|
||||
goose.NewGoMigration(
|
||||
202608220002,
|
||||
&goose.GoFunc{RunTx: up202608220002},
|
||||
&goose.GoFunc{RunTx: down202608220002},
|
||||
),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user