{"repo":"SennovE/qrafter","free":true,"listed":false,"github":"https://github.com/SennovE/qrafter","clone":"git clone https://github.com/SennovE/qrafter.git","description":"Fluent, type-safe, Go-native style SQL query builder with the migration generation tool","language":"Go","stars":52,"topics":["database-sql","go","golang","query-builder","sql","type-safe","mysql","oracle","postgresql","sqlserver"],"license":"MIT","category":"databases-storage","readme_excerpt":"qrafter qrafter is a fluent, type-safe SQL toolkit for Go. It gives you typed query composition, DDL builders, schema introspection, and generated Go migrations without becoming an ORM. Use qrafter when you want explicit SQL, typed table/column references, database/sql compatibility, and migration files you can read and edit. Install Quick start Output: Migrations The migration tool lives in cmd/qrafter-migrations . It creates a Go config file, compares the configured schema with the live database, generates Go migration files, registers them, and applies or reverts them. Show CLI help: Create ./migrations/qrafter config.go : The generated config is regular Go code. Add your table configs to desiredSchema : Generate a migration from the live database diff: This creates a timestamped Go file and appends it to Registry in qrafter config.go . Generated migrations return ddl.Statements , so you can edit them and add custom statements such as qddl.RawSQL(\"CREATE EXTENSION ...\") when needed. Apply or revert registered migrations: The apply command stores the current version in qrafter schema version by default. Override it in config with VersionTable or from CLI with --version-table . You can test this yourself with examples/migrations. DDL Builders Schema statements live in the ddl package: DDL rendering is dialect-aware and returns an error when a dialect cannot safely render a requested feature. Dialects qrafter currently includes: dialect DML DDL migrations ----------- :---: :-","default_branch":null,"files":null,"tree":[],"storefront":"/r/SennovE","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SennovE/qrafter/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}