Skip to content

Paulo-Lopes-Estevao/sqlc-generate-crud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sqlc generate crud

is a library that generates CRUD sql operations for a struct using the sqlc structure.

Case of use

was created in order to decrease the time spent writing queries using the sqlc: A SQL Compiler. sqlc

Installation

go get github.com/Paulo-Lopes-Estevao/sqlc-generate-crud

Usage

Required create a file sqlc.yaml

version: "2"
sql:
  - schema: "postgresql/schema.sql"
    queries: "postgresql"
    engine: "postgresql"
    gen:
      go:
        package: "authors"
        out: "postgresql"

generated sql files will be saved in the queries path folder in the sqlc.yaml file

function Generate has 2 parameters:

  • data : struct that will be used to generate the CRUD operations
  • options : struct that will be used to configure the generation tag and pathTarget
// GenerateConfig is a struct that will be used to configure the generation
type GenerateConfig struct {
    Tag        string
    PathTarget string
}

Example

package main

import (
    "github.com/Paulo-Lopes-Estevao/sqlc-generate-crud"
)

type User struct {
    ID int64 `json:"id"`
    Name string `json:"name"`
    Email string `json:"email"`
}

func main() {
	err := sqlcgeneratecrud.Generate(User{}, &sqlcgeneratecrud.GenerateConfig{})
	if err != nil {
        panic(err)
    }
}

Contributing

Before opening an issue or pull request, please check the project's contribution documents.

Please read CONTRIBUTING.md for details about our code of conduct, and the process for submitting pull requests.

Support Donate

If you find this project useful, you can buy author a glass of juice 🧃

ko-fi

also a coffee ☕️

Buy Me A Coffee

will be very grateful to you for your support 😊.

About

library that generates CRUD sql operations for a struct using the sqlc structure.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages