💽

Sinatraチュートリアル〜データベース準備編〜

2023/05/29に公開

アプリケーションを作成するにあたって必要なこと

アプリケーションの設計

どんなアプリケーションを作成するのか「要件定義」「テーブル設計」など、基本的な機能を洗い出します。
ここで抜けもれなどがあると、手戻りが発生して開発に時間がかかったり、設計が複雑になったりするため、最低限の機能についてはしっかりと設計を行いましょう。

データベースの準備

小さなアプリケーションではテキストファイルやCSVファイルなどの形式でデータを保存しデータベースが必要ない場合もありますが、データの永続性が失われたり処理速度が遅い、検索がしづらいなどの理由より、データベースの使用が推奨されます。

データベースによる情報管理

必要なデータベースをインストールして選択することでデータを保存するための場所が確保され、パラメーターの受け渡しなどによってデータベースにアクセスすることができるようになります。
※パラメータによるデータの取り出し例
例)ユーザーの情報や商品の情報など、さまざまな種類のデータを保存し、取り出すことができます。

  • データベースの種類
    MySQLやPostgreSQL、SQLiteなどがあります。管理するデータの種類や取り出し方など、データベースをどのような目的で利用するかに応じて、どのデータベースを選択するかを指定する必要があります。
  • データベースの場所
    データベースがどこにあるかを指定します。ホスト名やIPアドレスなどの情報を教えてあげる必要があります。
  • 接続情報
    データベースに接続するためのユーザー名やパスワードを指定します。
    これにより、認証されたユーザーのみがデータベースにアクセスできるようになります。

これらの設定を行うことで、プログラムは指定したデータベースにアクセスし、データの追加や照会、更新、削除などの操作を行うことができます。

Rubyでは接続などに必要な上記の情報を、configで管理する方法が一般的です。
config/database.ymlという名前のファイルを作成して、YAML形式(構造化されたデータを表現するのに便利なファイルの書き方ルール)で記述していきます。

configを使わなくてもデータベースに接続する方法があります

アプリケーション内(app.rbファイルなど)にDATABASE_URLという名前の環境変数を定義すればOKです。
config/database.ymlに記述がある場合でも、環境変数が設定されていればそちらが優先されます。

なぜconfigを使用するのか

一般的なアプリケーションのconfigファイルには、データベース情報以外にも様々な設定に関するファイルがあります。
configファイルでプログラムで使う「変更があるかもしれない設定値」を一括管理することによって、プログラム内のコードを変更せずとも設定を変えることができるため、規模の大きなアプリケーションなどでは特に重要となってきます。

Railsドキュメント 設定ファイル(config)

Discussion