docs: adopt lazy analytics caching
This commit is contained in:
@@ -13,7 +13,7 @@ Use Ent for application persistence, relationship modeling, and type-safe access
|
||||
|
||||
Use pgx directly for the importer’s PostgreSQL staging boundary. Feed `CopyFrom` with a streaming `CopyFromSource` (or equivalent bounded batches) so decompressed CSV rows are not accumulated in memory. Validate and promote staged data through explicit transactions/steps described by the import spec; bulk loading must not bypass reconciliation or data-quality rules.
|
||||
|
||||
Use versioned SQL migrations generated/planned from the reviewed schema and committed to Git. Apply them through a dedicated migration command or deployment step. Ent automatic schema creation is allowed only in disposable development/test contexts if the later implementation spec permits it; it must never run as part of production application startup.
|
||||
Use Atlas, Ent's supported migration engine, to generate/plan versioned SQL migrations from the reviewed Ent schema. Review and commit the SQL to Git, then apply it through a dedicated deployment migration step. Atlas is build/deployment tooling, not a runtime service. Ent automatic schema creation is allowed only in disposable development/test contexts if the later implementation spec permits it; it must never run as part of production application startup.
|
||||
|
||||
## Consequences
|
||||
|
||||
@@ -21,10 +21,10 @@ Use versioned SQL migrations generated/planned from the reviewed schema and comm
|
||||
- Engineers must still inspect generated SQL, query plans, indexes, transaction boundaries, and possible N+1 behavior; the ORM is not a performance or correctness boundary.
|
||||
- The importer owns a deliberate lower-level pgx path and cannot reuse ordinary Ent writes for convenience.
|
||||
- Both Ent and pgx require compatible pool/transaction ownership and context propagation; adapters must not hide unbounded work.
|
||||
- Migration generation tooling and the migration runner remain to be selected in the implementation spec. Versioned migration files—not runtime diffs—are the production contract.
|
||||
- Atlas-generated versioned migration files—not runtime diffs—are the production contract. CI validates migration integrity and drift before deployment.
|
||||
|
||||
## References
|
||||
|
||||
- Ent versioned migrations: <https://entgo.io/docs/versioned/intro/>
|
||||
- Atlas versioned migrations: <https://atlasgo.io/concepts/declarative-vs-versioned#versioned-migrations>
|
||||
- pgx v5 `CopyFrom`: <https://pkg.go.dev/github.com/jackc/pgx/v5#Conn.CopyFrom>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user