teseo
v0.1.7
Published
Small utility that helps to find a way out of a relational db dependency labyrinth
Downloads
12
Maintainers
Readme
Teseo
Teseo reads a directory that contains a relational db schema defined in several config files.
Each config file defines a table, therefore it has a property that has a name and another optional property in case the table has master tables.
Teseo will provide the order in which the tables should be created in a db to avoid issues around a detail not having a master.
Teseo is the spanish name for the mythical greek king Theseus. He managed to find his way in the Labyrinth, similar to the library finding the order of the files.
Installation
Nodejs v10.0.0+ is needed. Teseo has not been tested against earlier versions.
Git
git clone https://github.com/dllatas/teseo.git
cd teseo
npm start
npm
Global flag needed so it can be used as a CLI tool without the need for npm link
. Discard global flag if it will be used as a module.
npm i -g teseo
Usage
Properties
- dir: mandatory. string.
- format: mandatory. string.
- master: optional. default = 'master'. string.
- name: optional. default = 'name'. string.
- output: optional. default = '/tmp/teseo'. string.
CLI
teseo --help
JS
const teseo = require('teseo');
const result = await teseo({
dir: '/home/db-schema',
format: 'yaml',
})
Contributing
- Clone the repo
- Fetch
git checkout release
git checkout -b ${relevant-name}/working
- code!
- add test to the code!
- Create PR between release and working
- Fix merge conflicts, if any
- Wait for review!
Roadmap
- Write README for each module
- Support more config files
- Add Babel??? :thinking:
License
Project Status
Work in Progress