-- Migration 076: account_estimate_usage — квота оценок на аккаунт (#quota) -- -- Хранит счётчик успешных оценок per (username, period_month). -- period_month — строка 'YYYY-MM' (UTC). Лимит проверяется/инкрементится -- в app.services.account_quota. -- -- Idempotent: CREATE TABLE IF NOT EXISTS + существующие COMMENT переписываются -- безопасно (COMMENT ON TABLE/COLUMN — DML, не DDL, не падает при повторе). BEGIN; CREATE TABLE IF NOT EXISTS account_estimate_usage ( username text NOT NULL, period_month text NOT NULL, -- 'YYYY-MM' (UTC) used integer NOT NULL DEFAULT 0, updated_at timestamptz NOT NULL DEFAULT NOW(), PRIMARY KEY (username, period_month) ); COMMENT ON TABLE account_estimate_usage IS 'Счётчик успешных оценок trade-in per (username, calendar month UTC). ' 'Используется для применения лимита 15 оценок/месяц на pilot-аккаунтах.'; COMMENT ON COLUMN account_estimate_usage.username IS 'Имя пользователя из заголовка X-Authenticated-User (Caddy basic_auth).'; COMMENT ON COLUMN account_estimate_usage.period_month IS 'Календарный месяц UTC в формате YYYY-MM, напр. ''2026-05''.'; COMMENT ON COLUMN account_estimate_usage.used IS 'Количество успешных оценок в данном месяце.'; COMMENT ON COLUMN account_estimate_usage.updated_at IS 'Время последнего инкремента (UTC).'; COMMIT;