Database as Code
アプリケーションコードと同じように、データベースをコードとして管理する
データベースがコードでないと何が起きるか
スキーマがバージョン管理の外にある
アプリケーションコードは Git に唯一の信頼できる情報源を持ちますが、データベーススキーマは誰かのクライアント、Wiki ページ、そして微妙に異なる 3 つの環境に存在します。本番が実際にどうなっているのかを誰も断言できません。
変更がレビューと CI を迂回する
マイグレーションが手作業で実行され、他のすべての変更が通るプルリクエスト・lint・テストスイートを飛ばします。最初のレビューは本番で起きます。
履歴もロールバックもない
バージョン管理されたマイグレーションがなければ、差分も作成者も、元に戻す方法もありません。環境を再現するには、稼働中のデータベースからリバースエンジニアリングするしかありません。
Bytebase がデータベースをコードとして扱う方法
スキーマとマイグレーションをバージョン管理で
スキーマとすべての変更が、唯一の信頼できる情報源として Git に存在し、アプリケーションコードと同じパイプラインでレビュー・デプロイされます。
Git の中のスキーマ・アズ・コード
スキーマ全体とすべてのマイグレーションをバージョン管理で追跡するため、稼働中のデータベースではなくリポジトリが信頼できる情報源になります。
GitOps 変更フロー
変更はプルリクエストとして届き、レビュー・承認され、マージ時に自動的にデプロイされます。範囲外の SQL はありません。
宣言的またはマイグレーションベース
望ましい状態を定義して Bytebase に差分を取らせるか、バージョン管理されたマイグレーションスクリプトを管理するか、チームの運用に合わせて選べます。
パイプライン内での自動レビューとデプロイ
すべての変更が自動 SQL レビューを通過し、CI/CD でリリースされるため、データベースはスタックの他の部分と同じ速度と安全性で動きます。
自動 SQL レビュー
100 以上の組み込みルールが、インデックス欠落、ロックを伴う DDL、後方互換性のない変更など、危険なマイグレーションをマージ前に検出します。
CI/CD デプロイ
マイグレーションを GitHub、GitLab、Bitbucket に組み込み、デプロイをアプリケーションと同じパイプラインで実行します。
ロールバックを標準装備
すべての変更は差分と生成されたロールバック計画を伴うため、元に戻すのは再構築ではなくワンクリックです。
すべての環境で 1 つの信頼できる情報源
ライブなスキーマカタログが、dev・staging・production を Git の内容と同期させ、ドリフトが発生した瞬間に表面化させます。
ドリフト検出
任意の環境をバージョン管理されたスキーマと比較し、範囲外の変更がインシデントを引き起こす前に検出します。
再現可能な環境
手作業でコピーしたデータベースダンプではなく、リポジトリから新しい環境を立ち上げます。
完全な変更履歴と監査
すべてのマイグレーションは、作成者・差分・タイムスタンプとともに記録されます。手作業で組み立てない監査証跡です。
1 つの Database as Code プラットフォーム、すべてのチームに行き届く統制
モダンなエンタープライズ環境全体に組み込まれる設計
Bytebase はデータベース、開発ツール、コラボレーションプラットフォームと連携し、複雑でマルチツールなエンタープライズ環境にも自然に溶け込みます。