Azure SQL Database のローカル開発エクスペリエンスとは

適用対象:Azure SQL データベース

この記事では、Azure SQL データベースに特化したローカル開発エクスペリエンスの概要について説明します。

概要

Azure SQL データベースのローカル開発エクスペリエンスは、アプリケーション開発者とデータベースの専門家がオフラインで作業しながら、データベースのデータベーススキーマを設計、構築、検証、発行できるようにするツールとサービスの組み合わせです

次の図では、開発ライフサイクルにおける内部および外側のループ プロセスを図示しています。開発者がローカルとクラウドの両方で Azure SQL データベースとやり取りする方法が強調されています。

Azure SQL Database ローカル開発体験エンドツーエンド ワークフローの図。

内部ループと外側ループの両方について詳しくみていきましょう。

内部ループ

  • 内部ループは、ローカル開発サイクルを表しています。 ここでは、開発者がコードを記述し、テストし、ローカル コンピューターでデバッグします。

  • このフェーズでは、開発者は SQL Database のローカル インスタンスと対話をしていきます。 クラウドに変更を配置しなくても、すぐにフィードバックを得てコードをすばやく反復処理できます。

  • 内部ループの目的は、運用環境のセットアップを厳密に模倣する分離された環境での迅速な開発とテストを有効にすることです。

外側のループ

  • 外側のループには、コラボレーション、継続的インテグレーション、運用環境へのデプロイなど、より広範な開発ライフサイクルがあります。

  • 内部ループで実行された変更は、GitHub リポジトリなどの共有リポジトリにプッシュされ、そこで確認、テスト、マージできます。

  • リポジトリから、自動化されたワークフロー (GitHub Actions や GitHub Codespaces など) によって、データベースの変更を含むアプリケーションがビルドされ、Azure サービスに配置されます。

  • 外部ループでは、アプリケーションとデータベースが Azure に配置され、ライブ環境でアクセスして使用できます。

ツールと拡張機能

ローカル開発エクスペリエンスを効率化するために、いくつかのツールといくつかの拡張機能が利用できます。 次の表は、開発ライフサイクルのさまざまな側面に合わせて調整された、このオプションの概要を示しています。

ツールまたは拡張 説明 互換性あり
Azure SQL データベース開発コンテナテンプレート 事前構成済みの開発環境を提供し、手動セットアップを不要にし、一貫性を確保します。 複数の一般的言語のサポート Visual Studio Code
GitHub Codespaces
SQL Server の拡張機能 ローカルまたは Azure SQL データベースに対して、データベースに対する接続、クエリの実行、スクリプトテストを有効にします。 Visual Studio Code
GitHub Codespaces
SQL Database プロジェクトの拡張機能 既存のデータベース スキーマのキャプチャ、宣言型モデルを使用した新しいオブジェクトの設計、バージョン管理へのスキーマのコミット、データベースへの発行ができます。 Visual Studio Code
Azure Data Studio
GitHub Codespaces

Azure SQL データベース開発コンテナテンプレート

開発コンテナーは、Azure SQL データベース用の合理化された事前構成済み開発環境を提供するため、手動でのセットアップの必要がなくなります。 これらのコンテナは、必要なツールや依存関係が最初からすべて揃っていることを保証することで、生産性が向上します。

開発者は、Azure SQL データベースのセットアップを模倣する環境でコーディングを迅速に開始するために開発コンテナーを利用して、ローカルおよびクラウド開発全体の一貫性を促進します。 このアプローチにより、開発プロセスが高速化されるだけでなく、エラーが減少し、ローカル開発から運用環境へのデプロイへのスムーズな移行が保証されます。

Azure SQL データベースの開発コンテナー テンプレートの詳細については、「Azure SQL データベースの開発コンテナー テンプレートとは?」を参照してください。