Skip to content

lechuckroh/octopus-db-tool

Repository files navigation

octopus-db-tools

Release Test

한국어

octopus-db-tools provides:

  • Import/Export various ERD definitions.
  • Generate various file formats.

Goals

  • All-in-one tool to support every possible DB schema formats.
  • DB schema is stored in text format for version control, diff and merge.
  • Octopus-db-tool file format can be used as a SSOT(Single Source Of Truth).
  • Single binary executable CLI which can be used as a part of CI(Continuous Integration), CD(Continuous Deployment) and IaC(Infrastructure as Code).

Supported Formats

Import

  • Excel (*.xlsx)
  • MySQL DDL (*.sql)
  • octopus-db-tools v1 (*.ojson)
  • StarUML

Export

  • DBML
  • Excel (*.xlsx)
  • MySQL DDL (*.sql)

Generate

  • GORM source files (*.go)
  • GraphQL (*.graphql)
  • JPA Kotlin (*.kt)
  • Liquibase (*.yaml)
  • PlantUML (*.wsd, *.pu, *.puml, *.plantuml, *.iuml)
  • ProtoBuf (*.proto)
  • Quick DBD
  • SQLAlchemy (*.py)

Install

$ brew tap lechuckroh/tap
$ brew install octopus-db-tool

To download binaries: see Releases page.

Build

Local Build

Requirements:

  • Golang 1.17 +
  • make

Run:

$ make vendor
$ make compile

# build os-specific binary
$ make compile-windows-amd64
$ make compile-linux-amd64
$ make compile-linux-arm64
$ make compile-macos-amd64
$ make compile-macos-arm64

Docker Build

$ make compile-docker; make compile-rmi

Run

# show help
$ oct --help

See the following pages for command line options.

Documents