19 lines
880 B
Plaintext
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. |