ProductPromotion
Logo

Go.Lang

made by https://0x3d.site

GitHub - kesonan/sqlgen: A tool to generate bun, gorm, sql, sqlx and xorm sql code.
A tool to generate bun, gorm, sql, sqlx and xorm sql code. - kesonan/sqlgen
Visit Site

GitHub - kesonan/sqlgen: A tool to generate bun, gorm, sql, sqlx and xorm sql code.

GitHub - kesonan/sqlgen: A tool to generate bun, gorm, sql, sqlx and xorm sql code.

sqlgen

English | 中文

Go codecov Go Reference Go Report Card Release GitHub license

sqlgen is a tool to generate bun, gorm, sql, sqlx and xorm sql code from SQL file which is inspired by

Installation

go install github.com/anqiansong/sqlgen@latest

Example

See example

Queries rule

1. Function Name

You can define a function via fn keyword in line comment, for example:

-- fn: my_func
SELECT *
FROM user;

it will be generated as:

func (m *UserModel) my_func (...) {
...
}

2. Get One Record

The expression limit 1 must be explicitly defined if you want to get only one record, for example:

-- fn: FindOne
select *
from user
where id = ? limit 1;

3. Marker or Values?

For arguments of SQL, you can use ? or explicitly values to mark them, in sqlgen, the arguments will be converted into variables, for example, the following query are equivalent:

NOTES: It does not apply to rule 2

-- fn: FindLimit
select *
from user
where id = ?;

-- fn: FindLimit
select *
from user
where id = 1;

4. SQL Function

sqlgen supports aggregate function queries in sql, other than that, other functions are not supported so far. All the aggregate function query expressions must contain AS expression, for example:

-- fn: CountAll
select count(*) as count
from user;

For most query cases, you can see example.sql for details.

How it works

  1. Create a SQL file
  2. Write your SQL code in the SQL file
  3. Run sqlgen to generate code

Notes

  1. Only support MYSQL code generation.
  2. Do not support multiple tables in one SQL file.
  3. Do not support join query.

Articles
to learn more about the golang concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about GoLang.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory