Shared MySQL (mysql-5-7) only has mysql_user. The hades app connects
as hades_user which doesn't exist. dbinit runs as root, so it can
create the user before migrations run.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
INSERT IGNORE without column names fails when extra columns
(alias, is_deleted) are added by hadesv2-auth schema migration.
Specifying columns makes the dump idempotent.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- MySQL 5.7 does not support CREATE TRIGGER IF NOT EXISTS
- Add DROP TRIGGER IF EXISTS before each CREATE TRIGGER in 004_hades.sql (69 triggers) and 002_dump.sql (90 triggers)
- DROP TRIGGER only removes trigger definition, does not affect table data
- Fixes ERROR 1359 (Trigger already exists) when dbinit Job runs multiple times
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove all DROP TABLE IF EXISTS statements from 004_hades.sql and 002_dump.sql
- Change CREATE TABLE to CREATE TABLE IF NOT EXISTS
- Change INSERT INTO to INSERT IGNORE INTO for seed data
- Prevents app_contexts table wipe when ArgoCD re-syncs trigger duplicate dbinit Job runs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Changed mysqlDatabase from "hadesdb" to "hades_db" to match what the
migration scripts expect. The 004_hades.sql migration references
hades_db database.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Enable ingress resource creation via Helm values instead of
workflow-created manifests. Supports configurable host, className,
annotations, and TLS settings.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Moved helm/hades/* to hades/ to match ArgoCD path: hades
- Included mysql-1.6.9.tgz subchart for ArgoCD dependency resolution
- Fixed sync wave ordering: dbinit wave 0, deployment wave 1