mirror of
https://github.com/runbear-io/beardrive.git
synced 2026-08-25 08:08:08 +02:00
Add a database/sql MetaStore (db_sql.go) targeting SQLite locally and Postgres/Supabase in production through one portable schema: real tables (accounts, tokens, auth_policy, projects, orgs, org_members, invites, shares, devices), idempotent CREATE TABLE IF NOT EXISTS migrations at Open, ?→$N placeholder rebinding for Postgres, times as RFC3339 text, and transactional multi-row writes (an org and its members). Pure-Go drivers only (modernc.org/sqlite, jackc/pgx v5) so CGO-free builds keep working. One shared conformance suite (db_conformance_test.go) runs the same service-level operations — accounts+tokens, policy, pending/approve, projects create-or-join/rename/delete, org roles, invite create/redeem/ uses/validity, share create/revoke/expiry, devices — then reopens the store and asserts everything persisted. Runs against file AND sqlite always, and postgres when BDRIVE_TEST_POSTGRES is set. Verified green on all three against a real local Postgres. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R7Q9ZKSZRTdvrSJkYLUmYs