fix(shopping): capitalisation 1re lettre — catalogue + migration BDD v0.4.9

- CatalogueModal : cleanForm() capitalise désormais le nom avant envoi API
  (création et modification d'article)
- Migration 005 : met à jour shopping.products.name et
  shopping.list_items.custom_name pour capitaliser les données existantes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-25 10:21:03 +02:00
co-authored by Claude Sonnet 4.6
parent 52771644de
commit 264dd180ee
2 changed files with 40 additions and 1 deletions
@@ -0,0 +1,34 @@
"""005 - capitaliser la première lettre des noms produits et articles libres
Revision ID: 005
Revises: 004
Create Date: 2026-05-25
"""
from alembic import op
revision = '005'
down_revision = '004'
branch_labels = None
depends_on = None
def upgrade():
op.execute("""
UPDATE shopping.products
SET name = UPPER(SUBSTRING(name, 1, 1)) || SUBSTRING(name, 2)
WHERE name IS NOT NULL
AND name != ''
AND UPPER(SUBSTRING(name, 1, 1)) || SUBSTRING(name, 2) != name
""")
op.execute("""
UPDATE shopping.list_items
SET custom_name = UPPER(SUBSTRING(custom_name, 1, 1)) || SUBSTRING(custom_name, 2)
WHERE custom_name IS NOT NULL
AND custom_name != ''
AND UPPER(SUBSTRING(custom_name, 1, 1)) || SUBSTRING(custom_name, 2) != custom_name
""")
def downgrade():
pass