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.
In order to be able to use this you simply have to :
go get -u github.com/eujoy/erbuilder
In order to install this tool via brew you simply have to :
brew tap eujoy/erbuilder
brew install erbuilder
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)
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"