figbellダウンロード

機能

テーブル、列、リレーションをシンプルな言語で記述すると、隣に ER 図がリアルタイムで描かれ、図で行った変更はすべてコードに書き戻されます。Tabliva はスキーマの問題を示し、正規化を提案し、データベースをコードの状態にするための SQL とバージョン付きマイグレーションファイルを生成します。PostgreSQL、MySQL / MariaDB、SQLite に対応。

主な機能

読みやすいスキーマ言語
テーブル、論理型、主キーと外部キー(->)、インデックス(部分インデックス・式インデックス)、チェック制約、列挙型を .tabliva ファイルに記述します。方言固有の指定は注釈(@postgres(type: "jsonb"))で、ビュー・トリガー・関数は生の sql ブロックで追加します。エディタには構文の色分け、入力補完、検索があります。
双方向の ER 図
入力に合わせて図が更新されます。構文エラーのときは最後の正しい状態が残り、エラーは行番号付きで表示されます。図でテーブル・列・リレーション・インデックスを追加、名前変更、削除したり型を変えたりすると、該当するコードの行だけが書き換えられ、コメントは残ります。レイアウトは別ファイル(diagram.tabliva-layout.json)に保存されます。
問題:55 のルール
キー、信頼度付きの不足している外部キーの提案、型(例:金額に float)、インデックス、データの重複、命名、構造、方言との互換性。各問題にはわかりやすい説明と修正があり、安全な修正はまとめて適用できます。無視やルールの無効化は kurallar.tabliva ファイルに書き込まれます。
正規化
関数従属性はコードの depends 行で定義するか、列名から提案されます。テーブルごとに第 1 正規形から BCNF までの段階、前後を比較できる修正(別テーブルへ移動、新しいテーブル、子テーブル、意図的なコピー)、方言に合わせたデータ移行 SQL が表示されます。
変更計画とマイグレーションファイル
コードを比較対象(マイグレーションフォルダ、スナップショット、デスクトップではライブのデータベース)と比べます。名前の変更を検出し、各ステップにデータ損失、テーブルの書き換え、ロックなどのリスクを表示します。SQL は PostgreSQL、MySQL / MariaDB、SQLite 向けに生成され、マイグレーションファイルは日付付きの名前で migrations/ フォルダに書き込まれ、チェックサムが tabliva.sum に追加されます。
既存スキーマの読み込み
SQL ダンプ(pg_dump、mysqldump、SQLite の .schema、手書きの CREATE TABLE)、DBML、ほかの Tabliva プロジェクトを読み込みます。テーブルごとに 1 ファイルか、1 つのファイルかを選べます。読み込むのはスキーマだけで、INSERT と COPY の行は飛ばします。デスクトップではデータベースから直接スキーマを読むこともできます。
同期
比較元と比較先(コード、スナップショット、マイグレーションフォルダ、デスクトップではデータベース)を左右に並べて、または 1 列で比較し、方向を入れ替えられます。マイグレーションファイルなしでデータベースに加えられた変更はずれとして表示され、選んだ変更から同期スクリプトが作られます。
ドキュメント
データ辞書は HTML(ネットワークから何も読み込まない単一ファイル)、Markdown、または印刷ウインドウから PDF で保存できます。説明はコードの /// コメントから取られ、ここで書いた説明はコードに書き戻されます。ER 図はライトまたはダークの PNG / SVG で、スキーマは SQL または DBML で書き出せます。
サンプルデータとスキーマ履歴
型、制約、リレーションに従ったサンプルデータを生成します。同じシードからは常に同じデータが得られます(SQL、CSV、JSON)。スキーマ履歴はマイグレーションファイルとスナップショットから作られ、任意の 2 時点を比較できます。
ライブのデータベース(デスクトップ)
デスクトップアプリは PostgreSQL と MySQL / MariaDB に接続します(SSL の設定あり):データベースからのスキーマ読み込み、同期、確認付きの「データベースに適用」(データ損失への同意とデータベース名の入力)、サンプルデータの投入、提案されたリレーションのためのデータチェック。ブラウザとスマートフォンではこれらの機能は表示されません。
プロジェクトフォルダと共有
プロジェクトはこのデバイスに保存されます。フォルダに書き込めるブラウザとデスクトップでは、プロジェクトをフォルダに結び付け、すべての変更をそこに書き込めます(Git リポジトリなど)。プロジェクトは ZIP で書き出し・読み込みでき、ファイル、プロジェクト、計画の SQL はデバイスの共有機能で共有できます。
サンプルプロジェクト、バックアップ、オフライン
初回起動時には、意図的にいくつかの問題を残したショップのスキーマが入っています。「サンプルプロジェクトを再度追加」で元に戻せます。「バックアップ…」はプロジェクトと設定を 1 つのファイルに保存します(フォルダの結び付けとパスワードは含みません)。アカウントは不要で、ライブのデータベース以外はすべてオフラインで動作します。

デバイスとブラウザ

  • デスクトップでは左にプロジェクトファイルと比較対象、中央にコードと図があり、ビュー(エディタ、変更、問題、正規化、同期、ドキュメント、ツール)は上部のバーで切り替えます。スマートフォンと縦向きのタブレットでは、下部のナビゲーションにコード、図、問題、プラン、その他があります。
  • ライブのデータベース機能(データベースからの読み込み、同期でのデータベース、「データベースに適用」、サンプルデータの投入、データチェック)はデスクトップアプリだけにあります。ブラウザとスマートフォンでは、マイグレーションファイルを書き出すか、SQL を保存・共有します。
  • フォルダへの直接書き込みは Chrome、Edge、デスクトップアプリで使えます。Safari、Firefox、スマートフォンではプロジェクトはこのデバイスに保存され、ZIP で移します。
Tabliva のスクリーンショット:サンプルコンテンツを開いた作業画面
デスクトップ
Tabliva のスクリーンショット:サンプルコンテンツを開いた作業画面
タブレット
Tabliva のスクリーンショット:サンプルコンテンツを開いた作業画面
スマートフォン

キーボードショートカット

macOS では ⌘ と ⌥、Windows と Linux では Ctrl と Alt を使用します。

ショートカット操作
1 – 7ビュー
Ctrl/⌘ S保存
Ctrl/⌘ Oプロジェクト
Ctrl/⌘ I読み込む
Ctrl/⌘ ⇧ P計画を見る
Ctrl/⌘ Fコード内を検索
Ctrl/⌘ Z · ⇧ Z元に戻す · やり直し
F2テーブル名を変更(図)
← → ↑ ↓選択したカードを移動
Enterテーブルのページを開く
Deleteテーブルを削除

タッチスクリーンでは 2 本指で図を拡大・移動します。リレーションを描くには、まず元の列、次に先の列をタップします。テーブルのカードを長押しするとコンテキストメニューが開き、メニューとダイアログは下から開きます。

Tabliva を入手

ブラウザでインストールせずに試すことができます。継続して使用する場合は、macOS、Windows、Linux 版をご購入ください。