Skip to content

Generate Go code from atlas HCL schema

License

Notifications You must be signed in to change notification settings

eltimn/atlas-hcl-gen-go

 
 

Repository files navigation

atlas-hcl-gen-go

This is a command to generate Go struct from Atlas HCL Schema.

Usage

Install the command.

go install github.com/ucpr/atlas-hcl-gen-go

Generate Go struct from Atlas HCL Schema.

atlas-hcl-gen-go -f schema.hcl -o output.go

Example

The input data uses the schema written in HCL below.

schema "market" {}

table "users" {
  schema = schema.market
  column "name" {
    type = text
  }
  column "updated_at" {
    type = int
  }
  column "created_at" {
    type = int
  }
}

Execute the command.

atlas-hcl-gen-go -i schema.hcl -o output.go

The following Go struct will be generated.

// Code generated by github.com/ucpr/atlas-hcl-gen-go. DO NOT EDIT.
// atlas-hcl-gen-go: 922707f-dirty
// source: testdata/schema.hcl

package main

type Users struct {
	Name      int `db:"name"`
	UpdatedAt int `db:"updated_at"`
	CreatedAt int `db:"created_at"`
}

TODO

  • Support some types
  • Support some RDBMS schemas (MySQL, PostgreSQL, SQLite, ...)

Contributing

Contributions of any kind welcome!

License

MIT License

About

Generate Go code from atlas HCL schema

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 67.5%
  • Nix 27.2%
  • Makefile 5.3%