Skip to content

eujoy/erbuilder

Repository files navigation

erbuilder

GoDoc version golang-version License: MIT


Go Report Card Codacy Badge Codacy Badge master-actions Actions Status .github/workflows/release-actions.yaml

The purpose of this tool is to parse a file or a list of files containing the mappping against the database and generate an .er file describing the database modeling.

Installation

Installing via go get

In order to be able to use this you simply have to :

go get -u github.com/eujoy/erbuilder

Installing via brew

In order to install this tool via brew you simply have to :

brew tap eujoy/erbuilder
brew install erbuilder

Definition of commands

There is a command called generate which actually retrieves the details from the provided files or files under directory and generates the respective .er file based on the definition of the structs in those files.

NAME:
   main generate - Generate the .er file based on the provided structures.

USAGE:
   main generate [command options] [arguments...]

OPTIONS:
   --common_field value, -c value         Common field for all the tables which do not have the provided tag in place.
   --directory value, -d value            Directory to retrieve the files from.
   --file_list value, -l value            List of files to parse.
   --id_field value                       Id field to be used for all the tables.
   --output_filename value, --of value    Define the generated output filename (will be used for both the .er and the image file). (default: "er-diagram")
   --output_path value, -o value          The path were to store the .er file. (default: ".")
   --tag value, -t value                  Tag value to consume from the structs. (default: "db")
   --title value                          Title to be included in the exported image. (default: "Database Schema")
   --column_name_case value, --cnc value  Define the case definition for the column names. (Allowed values : [snake_case camelCase screaming_snake_case kebab_case]) (default: "snake_case")
   --table_name_case value, --tnc value   Define the case definition for the table names. (Allowed values : [snake_case camelCase screaming_snake_case kebab_case]) (default: "snake_case")
   --table_in_plural, --tp                Define whether the table name should be in plural. (default: false)
   --help, -h                             show help (default: false)

How to use

To generate a new .er file with the database models, a command like the following needs to be executed :

erbuilder generate --directory "./test/" --output_path "./test/" --output_filename "example-er-diagram" --id_field "id" --tag "db" --title "example_db"

or by using go run in the root folder of the project :

go run main.go generate --directory "./test/" --output_path "./test/" --output_filename "example-er-diagram" --id_field "id" --tag "db" --title "example_db"

About

Parse go files and prepare the .er based on the structs defined in the input files.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages