Skip to content

6.8 - まとめ

まとめ

この章では、Dockerを使って、アプリがデータベースとやりとりできる開発環境を構築しました。これができたら、コンテナやイメージの一覧を探索して、システムがどうなっているかを点検しました。その後、diesel crateを使用してマイグレーションを作成しました。この後、Dieselクライアントをインストールし、Rustアプリとマイグレーションがデータベースコンテナに直接接続できるように、環境変数としてデータベースURLを定義しました。

そして、マイグレーションを実行し、マイグレーションが実行されたときに起動するSQLスクリプトを定義し、順番に実行しました。これがすべて終わると、データベースコンテナを再度検査し、マイグレーションが実際に実行されたかどうかを確認しました。そして、Rustでデータモデルを定義し、APIエンドポイントをリファクタリングして、データベースに対して取得、編集、作成、削除の操作を行い、ToDo項目を追跡するようにしました。

ここで行ったのは、データベース・ストレージ・システムのアップグレードです。データを保存するのにJSONファイルに依存しなくなったので、本番に使えるシステムに一歩近づいたのです。これで、変更、資格情報/アクセス、スキーマの管理を可能にするデータベース管理タスクを実行するスキルが身につきました。また、データの作成、取得、更新、削除を行うアプリを実行するために必要な、データベースに対する基本的な操作をすべて実行しました。これらのスキルは、ラストウェブプロジェクトで行いたい他のプロジェクトにそのまま転用できます。次に、データベース接続を接続プールで制限できるようにすることで、新しく開発したデータベースのスキルを強化しました。最後に、データベース接続構造体の実装を容易にするために、FromRequest traitを実装し、他の開発者がビューに構造体をパラメータとして渡すだけで、接続を実装できるようにしました。また、データベース接続ができない場合は、ビューが保護されます。

次の章では、これらのスキルをもとにユーザー認証システムを構築し、アプリにアクセスする際にユーザーの作成と認証情報の確認ができるようにします。データベース、ヘッダーからのデータ抽出、ブラウザーの保存、ルーティングを組み合わせて、ユーザーがToDoアイテムにアクセスするためにはログインしている必要があることを確認します。