--- version: "2" servers: - engine: postgresql uri: "${DB_URI}" sql: - name: "db" engine: "postgresql" queries: "database/queries/" schema: "database/migrations" rules: - sqlc/db-prepare - no-delete - no-pg - no-seq-scan - too-costly database: managed: true gen: go: package: "repository" out: "internal/database/repository" sql_package: "pgx/v5" rules: - name: no-pg message: "invalid engine: not postgresql" rule: | config.engine != "postgresql" - name: no-delete message: "don't use delete statements" rule: | query.sql.contains("DELETE") - name: too-costly message: "Query cost estimate is too high" rule: "postgresql.explain.plan.total_cost > 400.0" - name: no-seq-scan message: "Query plan results in a sequential scan" rule: "postgresql.explain.plan.node_type == 'Seq Scan'"