DATABASE_URLで接続
どのデータベースにも接続する最速の方法 — 1つのURL文字列を貼り付けるだけで完了。
ホスト、ポート、ユーザー名、パスワード、データベース名の個別フィールドをフォームに入力する代わりに、DATABASE_URLと呼ばれる1つの文字列を貼り付けるだけで、どのデータベースにも接続できます。これが接続する最速の方法であり、ほとんどのクラウドデータベースプロバイダーはダッシュボードから直接コピーできるものを提供しています。
DATABASE_URLとは?
DATABASE_URLは、データベース接続を開くために必要なすべてをエンコードした1行のテキストです。ウェブアドレス(URL)と同じパターンに従っているため、読みやすく、ツール間で共有しやすいです。
以下はPostgreSQLのDATABASE_URLの例です:
postgresql://myuser:[email protected]:5432/myapp_production
各部分を分解してみましょう:
| 部分 | 例 | 意味 |
|---|---|---|
| エンジン | postgresql:// | データベースのタイプ。1DevToolにどのドライバーを使用するかを指示します。 |
| ユーザー名 | myuser | ログインするデータベースユーザー。 |
| パスワード | mypassword | そのユーザーのパスワード。 |
| ホスト | db.example.com | データベースが実行されているサーバー。ドメイン名またはIPアドレスです。 |
| ポート | 5432 | データベースがリッスンするネットワークポート。PostgreSQLのデフォルトは5432です。 |
| データベース名 | myapp_production | そのサーバー上で接続したい特定のデータベース(またはスキーマ)。 |
このURLを1DevToolに貼り付けると、各部分が自動的に読み取られ、すべての接続フィールドが入力されます。手動で何かを入力する必要はありません。
DATABASE_URLの探し方
すべてのクラウドデータベースプロバイダーは、ダッシュボードのどこかに接続文字列を表示しています。最も一般的なものの探し方を紹介します:
Supabase
プロジェクト → プロジェクト設定(サイドバーのギアアイコン) → データベースタブ → 接続文字列までスクロール → URIタブをクリック。表示されている文字列をコピーします。postgresql://postgres:[YOUR-PASSWORD]@...supabase.co:5432/postgresのようになります。
Neon
ダッシュボード → プロジェクトを選択 → 右パネルの接続の詳細をクリック → 接続文字列をコピー。Neonはサーバーレスエンドポイント付きのpostgresql://URLを使用します。
PlanetScale
データベース → 接続をクリック → フレームワークドロップダウンから**「Other」**を選択 → 接続文字列をコピー。PlanetScaleはSSL証明子が埋め込まれた、またはパラメータで必要なmysql://URLを使用します。
Railway
プロジェクトを開く → データベースサービスをクリック → 変数タブ → DATABASE_URLを探す。Railwayはこの変数をアプリに自動的に注入するため、環境にすでに存在する場合があります。
Heroku
アプリ → 設定タブ → Config Varsまでスクロール → DATABASE_URLを探す。HerokuはHeroku Postgresアドオンに対してこれを自動的に設定します。
ローカルPostgreSQL(自分のマシンで実行) PostgreSQLをローカルにインストールし、デフォルトを変更していない場合、URLは次のようになります:
postgresql://postgres:password@localhost:5432/mydb
passwordを実際のpostgresユーザーパスワードに、mydbを作成したデータベース名に置き換えます。
ローカルMySQL
mysql://root:password@localhost:3306/mydb
ステップバイステップ:1DevToolで接続
- 1DevToolでプロジェクトを開き、左ツールバーのデータベースアイコン(シリンダーシンボル)をクリックするか、MacでCmd+D / WindowsでCtrl+Dを押します。
- データベースパネル左側の接続レールで**+**ボタンをクリックします。接続を追加というタイトルのダイアログが開きます。
- ダイアログの上部に**「DATABASE_URLを貼り付け」**というラベルのフィールドが表示されます。そのフィールドをクリックします。
- DATABASE_URLを貼り付けます。貼り付けるとすぐに、1DevToolがURLを読み取り、下のホスト、ポート、ユーザー、パスワード、データベースフィールドを自動的に入力します。リアルタイムで入力されるのが確認できます。
- **「接続をテスト」**をクリックします。1DevToolがデータベースへの接続を試みます。成功すると、緑のチェックマークと「接続に成功しました」というメッセージが表示されます。
- **「保存」**をクリックします。接続がこのプロジェクト用に保存されます。次回1DevToolを開いたときもそこにあります。
- テーブルとコレクションが左サイドバーに表示されます。接続完了、クエリを実行する準備ができました。


各エンジンのDATABASE_URL形式
サポートされているすべてのエンジンのURL形式を以下に示すので、手動で作成または確認できます:
# PostgreSQL(Supabase、Neon、Timescale、CockroachDBも含む)
postgresql://username:password@host:5432/database
# MySQL(MariaDBも含む)
mysql://username:password@host:3306/database
# Microsoft SQL Server
mssql://username:password@host:1433/database
# MongoDB(標準)
mongodb://username:password@host:27017/database
# MongoDB Atlas(クラウド — SRV形式を使用)
mongodb+srv://username:[email protected]/database
# Redis(認証なし)
redis://host:6379
# Redis(パスワードあり)
redis://:password@host:6379
# TLS/SSL付きRedis
rediss://:password@host:6380
# ClickHouse
clickhouse://username:password@host:9000/database
# Elasticsearch(認証なし)
elasticsearch://host:9200
# Elasticsearch(認証あり)
elasticsearch://username:password@host:9200
# CouchDB
couchdb://username:password@host:5984/database
一般的な接続エラー
テスト接続が失敗した場合、このテーブルで何が間違っていたかを特定するのに役立ちます:
| エラー | 理由 | 修正方法 |
|---|---|---|
| 接続拒否 | データベースが実行されていないか、ポート番号が間違っている | データベースサーバーが起動していることを確認。ポートがDBの設定と一致していることを確認。 |
| 認証失敗 | ユーザー名またはパスワードが間違っている | 資格情報を再確認。ダッシュボードからコピーした場合、余分な空白が含まれていないことを確認。 |
| SSLが必要 | クラウドデータベースが暗号化された接続を必要としているが、URLが要求していない | PostgreSQL URLの末尾に?sslmode=requireを追加、またはMySQLの場合は?ssl=trueを追加。 |
| 不明なホスト / ホストを解決できない | ホスト名のスペルミス、またはマシンが到達できない | ホスト名のタイプミスを確認。プライベートデータベースに接続している場合、VPNが接続されていることを確認。 |
| タイムアウト | データベースホストに到達できない(ファイアウォールまたは間違ったIP) | IPアドレスがデータベースの許可リストにあることを確認。ほとんどのクラウドプロバイダーには設定に「ネットワーク」または「信頼されたIP」セクションがあります。 |
警告: DATABASE_URLをGitにコミットしないでください。データベースパスワードがプレーンテキストで含まれています。
.envファイルに保存し、.envを.gitignoreに追加してください。誤ってコミットした場合は、データベースプロバイダーのダッシュボードで即座にパスワードをローテーションしてください。
ヒント: 1DevToolは接続詳細をローカルマシン上で暗号化して保存します。それらがコンピュータから離れることはなく、サーバーに送信されることもありません。