0.0.10 • Published 5 years ago

@deezus/dac v0.0.10

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

CircleCI

DAC

DAC(Database As Codeの略)はデータベースのテーブル構造をyamlで管理するツールです

インストール

npmで公開しています

npm install @deezus/dac
yarn add @deezus/dac

使い方

dac [コマンド] [オプション]

コマンド

コマンド説明
extractデータベースに接続しテーブルをymlとしてエクスポートします
createymlを元にテーブルを作成します
recreate既存テーブルをdropし、ymlを元にテーブルを再構成します
updateymlとデータベースの差分を比較し、テーブルやカラムを更新します
diffymlとデータベースの差分を表示します

オプション

オプション説明例など
-f, --host <hosts>データベースへの接続情報ymlファイルパスhosts.yml
-H, --host <host>データベースホスト(-f指定時は接続先名)localhost*
-t, --type <type>データベースタイプmysql, postgres, mssql*
-u, --user <user>データベースに接続するユーザー*
-p, --password <password>データベースに接続する際のパスワード*
-d, --database <database>データベース名*
-i, --input <input>入力ymlファイルパスdb.yml
-o, --outDir <outDir>extract時の出力先ディレクトリ
-q, --querycreate, recreate, update 時にクエリを実行せずに画面に出力します

※-f未指定の場合は*のオプションが必須です

使用例

extract

引数で接続情報を指定する場合

dac extract -H localhost -t mysql -u root -p password -d dac -o .

ファイルで接続情報を設定する場合

dac extract -f hosts.yml -o .

create

引数で接続情報を指定する場合

dac create -H localhost -t mysql -u root -p password -d dac -i db.yml

ファイルで接続情報を設定する場合

dac create -f hosts.yml -i db.yml

クエリを表示する場合

dac create -f hosts.yml -i db.yml -q

recreate

引数で接続情報を指定する場合

dac recreate -H localhost -t mysql -u root -p password -d dac -i db.yml

ファイルで接続情報を設定する場合

dac recreate -f hosts.yml -i db.yml

クエリを表示する場合

dac recreate -f hosts.yml -i db.yml -q

update

引数で接続情報を指定する場合

dac update -H localhost -t mysql -u root -p password -d dac -i db.yml

ファイルで接続情報を設定する場合

dac update -f hosts.yml -i db.yml

クエリを表示する場合

dac update -f hosts.yml -i db.yml -q

diff

引数で接続情報を指定する場合

dac diff -H localhost -t mysql -u root -p password -d dac -i db.yml

ファイルで接続情報を設定する場合

dac diff -f hosts.yml -i db.yml

hostsに関して

ymlで接続情報を複数記載することができます 下記のように種類の違うデータベースを混在させることもできます -hオプションで名前を指定しない場合は全接続先に対してコマンドが実行されます

server1:
  type: mysql
  hosts: localhost
  user: db_user_1
  password: password
  database: dac
 
server2:
  type: postgres
  hosts: localhost
  user: db_user_2
  password: password
  database: dac

extractの例

全接続先に対して行う場合 server1.yml, server2.ymlと接続先ごとにファイルが作成されます

dac extract -i hosts.yml -o .

接続先名を指定する場合 server1のみをextractし、server1.ymlが作成されます

dac extract -i hosts.yml -h server1 -o .
0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago