backend-server-v2/codex-prompt/prompt-2..txt

19 lines
880 B
Plaintext

Implementa internal/db (db.go, migrate.go, seed.go) con GORM.
- db.go: Open(cfg) (*gorm.DB, error) con switch sqlite/postgres.
- sqlite usa cfg.SQLitePath, crea directory se serve.
- postgres usa cfg.PostgresDSN.
- logger più verboso in develop.
- migrate.go: Migrate(db) che fa AutoMigrate su tutti i modelli (User, EmailVerificationToken, PasswordResetToken).
- esegui solo se cfg.AutoMigrate=true (gestisci in app.go o in migrate.go).
- seed.go: Seed(db) idempotente se cfg.SeedEnabled=true:
- in develop crea:
- admin@example.com (role=admin, verified=true, password="password")
- user@example.com (role=user, verified=true, password="password")
- crea anche utenti demo aggiuntivi per tabella.
- usa upsert by email (GORM clauses OnConflict dove possibile).
- NON loggare password in chiaro.
Aggiorna/crea internal/models con i modelli necessari.