config "output_querier_file_name" does not work properly
Version
1.25.0
What happened?
Option "output_querier_file_name" does not change the default value ps: any other options work
Relevant log output
N/A
Database schema
N/A
SQL queries
N/A
Configuration
version: "2"
sql:
- engine: "sqlite"
queries: "internal/infra/db/sql/assignment/query.sql"
schema: "internal/infra/db/sql/assignment/schema.sql"
gen:
go:
package: "repository"
emit_json_tags: true
emit_result_struct_pointers: true
output_models_file_name: "assignment_models.go"
output_querier_file_name: "assignment_querier.go"
output_db_file_name: 'repo.go'
json_tags_case_style: "camel"
out: "internal/infra/db/repository"
- engine: "sqlite"
queries: "internal/infra/db/sql/person/query.sql"
schema: "internal/infra/db/sql/person/schema.sql"
gen:
go:
package: "repository"
emit_json_tags: true
emit_result_struct_pointers: true
output_models_file_name: "person_models.go"
output_querier_file_name: "person_querier.go"
output_db_file_name: 'repo.go'
json_tags_case_style: "camel"
out: "internal/infra/db/repository"
- engine: "sqlite"
queries: "internal/infra/db/sql/person_role/query.sql"
schema: "internal/infra/db/sql/person_role/schema.sql"
gen:
go:
package: "repository"
emit_json_tags: true
emit_result_struct_pointers: true
output_models_file_name: "person_role_models.go"
output_querier_file_name: "person_role_querier.go"
output_db_file_name: 'repo.go'
json_tags_case_style: "camel"
out: "internal/infra/db/repository"
- engine: "sqlite"
queries: "internal/infra/db/sql/role/query.sql"
schema: "internal/infra/db/sql/role/schema.sql"
gen:
go:
package: "repository"
emit_json_tags: true
emit_result_struct_pointers: true
output_models_file_name: "role_models.go"
output_querier_file_name: "role_querier.go"
output_db_file_name: 'repo.go'
json_tags_case_style: "camel"
out: "internal/infra/db/repository"
Playground URL
No response
What operating system are you using?
Windows
What database engines are you using?
SQLite
What type of code are you generating?
Go
+1
with emit_interface: true that works
It seems like the documentation is slightly misleading here.
The output file name actually mirrors the one set for the input queries file.
For instance, this configuration will generate a MY_QUERIES_FILE.sql queries file:
version: "2"
sql:
- engine: "sqlite"
queries: "internal/infra/db/sql/assignment/MY_QUERIES_FILE.sql"
schema: "internal/infra/db/sql/assignment/schema.sql"
gen:
go:
package: "repository"
emit_json_tags: true
emit_result_struct_pointers: true
output_models_file_name: "assignment_models.go"
output_querier_file_name: "assignment_querier.go"
output_db_file_name: 'repo.go'
json_tags_case_style: "camel"
out: "internal/infra/db/repository"
Setting emit_interface to true will only generate an extra querier file.
Just ran into this myself. Based on previous responses it appears that the following should be done.
- update documentation for output_querier_file_name to mention emit_interface
- add an output_queries_file_name setting for consistency.
- perhaps change output_querier_file_name to something like output_interface_file_name or something similar.