بنقرة واحدة
بنقرة واحدة
| name | sqlc |
| description | Working with sqlc and database queries |
This skill provides instructions for working with sqlc and database queries in the NCPS repository. NCPS supports multiple database engines (SQLite, PostgreSQL, MySQL), and sqlc is used to generate type-safe Go code from SQL queries for each engine.
sqlc.ymldb/query.sqlite.sqldb/query.postgres.sqldb/query.mysql.sqlpkg/database/sqlitedbpkg/database/postgresdbpkg/database/mysqldbAny time a query file (db/query.<engine>.sql) is updated, you MUST follow these steps:
Run the sqlc generate command to update the generated Go files for all engines.
sqlc generate
Run go generate for the pkg/database package. This command uses sqlc-multi-db (via go tool) to automatically:
Querier interface from the postgresdb backend.Querier interface in pkg/database/querier.go.pkg/database/models.go.wrapper_sqlite.go, wrapper_postgres.go, wrapper_mysql.go).go generate ./pkg/database
[!IMPORTANT] Do NOT manually edit
pkg/database/querier.goorpkg/database/models.go. They are fully automated.
Consistency: Ensure that equivalent queries exist for all supported engines unless the feature is engine-specific.
Linting: Use sqlfluff to lint and format SQL files before running sqlc generate.
sqlfluff lint db/query.*.sql
sqlfluff format db/query.*.sql