5ca36b0502
Feature/listtypes * started * cleanuplist * someunittestfixes * removemostflakiness
46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
---
|
|
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"
|
|
emit_pointers_for_null_types: true
|
|
emit_empty_slices: true
|
|
emit_db_tags: true
|
|
emit_result_struct_pointers: true
|
|
emit_params_struct_pointers: true
|
|
emit_enum_valid_method: true
|
|
emit_sql_as_comment: true
|
|
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'"
|