sqlgen

command module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2022 License: MIT Imports: 1 Imported by: 0

README

sqlgen

English | 中文

Go

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: FineLimit
select * from user where id = ?;

-- fn: FineLimit
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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
example module
internal
log
set

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL