Barcode Betty
6e6e141d26
fix(api): bootstrap users table in migration 007 + harden create_all
...
Create migration 007 to raw-SQL CREATE TABLE IF NOT EXISTS the users table
as a safety net for fresh databases where Base.metadata.create_all() may
fail due to import errors before the table is created.
Wrap the create_all call in env.py with try/except so alembic never crashes
due to create_all failures — migrations already handle table creation.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-04 17:10:29 +00:00
cartsnitch-cto[bot]
c36571863c
fix(api): make alembic migrations idempotent for fresh databases ( #129 )
...
fix(api): make alembic migrations idempotent for fresh databases
2026-04-04 16:41:02 +00:00
Pawla Abdul
5c8fe9a62b
fix(api): make alembic migrations idempotent for fresh databases
...
- 001: guard has_table check; skip if session_data already TEXT
- 002: guard each ADD COLUMN / CREATE TABLE; guard password migration
- 003: guard has_table; guard nullable check
- 004: guard has_table; skip if users.id already TEXT
- env.py: add Base.metadata.create_all after run_migrations to bootstrap fresh DBs
- api/user.py: make hashed_password nullable; add email_verified, image, email_inbound_token fields
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-04 16:28:29 +00:00
Barcode Betty
c5f43e8f4a
fix(api): escape percent signs in alembic database URL for configparser
...
CNPG-generated passwords containing URL-encoded chars (e.g. %2B, %2F) cause
configparser.BasicInterpolation to fail with "invalid interpolation syntax".
Escaping % as %% prevents this.
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-04-04 06:31:48 +00:00
Coupon Carl
b7e6f637a7
feat: merge cartsnitch/api into api/ subdirectory
...
Consolidate API gateway service into monorepo.
Squashed from https://github.com/cartsnitch/api main (89bacb1).
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-03-28 02:24:02 +00:00