本文へ移動
Pancake Stack
章の一覧Pancake Stack マニュアル
はじめに
  1. 1Pancake へようこそ
  2. 2ウインドウの案内
  3. 3最初のサイト
サイトを作る
  1. 4サイトの操作
  2. 5ファイル、エディタ、デザイン
  3. 6サイトの取り込み
  4. 7データベース
共有と公開
  1. 8サイトを公開する
  2. 9自分のネットワークとローカル HTTPS
  3. 10サイトからのメール
  4. 11デプロイ
スタックの運用
  1. 12バックアップと保存ポイント
  2. 13サービス、タスク、ワーカ
  3. 14アシスタントと MCP
リファレンス
  1. 15設定、テンプレート、プラグイン
  2. 16プランとサブスクリプション
  3. 17困ったときは
  4. 18プライバシーとデータ

Pancake Stack › Pancake Stack マニュアル

生地を混ぜる · サイトを作る

データベース

サイトごとの MySQL データベース、Adminer と phpMyAdmin、読み込みと書き出し、既存のデータベースへの接続、PostgreSQL について説明します。

データベースペイン:各データベースのサイズと使っているサイト、Adminer・書き出し・読み込みのボタン。
図 7.1データベースペイン:各データベースのサイズと使っているサイト、Adminer・書き出し・読み込みのボタン。

7.1Pancake のデータベース

各サイトには専用の MySQL 8.4 データベースと、そのデータベースだけを開ける専用のユーザがあります。どちらもサイト名にちなんだ名前です(my-blog は my_blog になります)。パスワードはランダムでキーチェーンに保存されます。サイトは DB_HOST、DB_PORT、DB_NAME、DB_USER、DB_PASSWORD からすべてを読むので、パスワードをサイトのファイルに書く必要はありません。

データベースペインには、各データベースのサイズ、テーブル数、使っているサイトが一覧表示されます。表示するには MySQL が動いている必要があるので、「すべて開始」をクリックしてください。

7.2Adminer と phpMyAdmin

Adminer は、ブラウザの adminer.localhost でデータベースを開きます。テーブルの閲覧、クエリの実行、行の編集ができます。サーバ、ユーザ、データベースは Pancake が入力するので、パスワードを入力してください。サイト専用のユーザか、root と詳細 ▸ root のパスワードをコピーで得たパスワードを使います。外部アクセスがオンでも、Adminer が公開されることはありません。

phpMyAdmin を使いたい場合は、phpMyAdmin をクリックし、phpmyadmin.net から「all-languages」の ZIP をダウンロードして選びます。Pancake はそれを、この Mac の中だけで動く phpmyadmin.localhost のサイトとして配信します(phpMyAdmin は Pancake には含まれていません)。

7.3書き出しと読み込み

ヒント

大きな変更の前には書き出しておくか、サイトのカードで保存ポイントを作ってください。保存ポイントはファイルと一緒にデータベースもコピーします。

7.4ほかのアプリからの接続

「詳細」をオンにすると、他のツールから接続に、TablePlus、Sequel Ace、DBeaver などのデータベースアプリに入力する内容が表示されます。ホストは 127.0.0.1、ポートは MySQL が使っているポート(通常は 3306)、ユーザは root です。root のパスワードをコピーでパスワードをコピーします。Pancake の MySQL は、この Mac からの接続しか受け付けません。

ほかの MySQL(MAMP、Homebrew、Docker のもの)がすでにポート 3306 を使っている場合、Pancake の MySQL は 3307 などの次の空きポートを使い、ペインにそのポートを表示します。

7.5外部のデータベース

サイトでは、Pancake のデータベースの代わりに既存のデータベースも使えます。MAMP の MySQL、NAS やほかのコンピュータ上のデータベース、Amazon RDS、Supabase、Neon などのクラウドのデータベースです。

  1. 既存のデータベースに接続…をクリックします。
  2. MySQL / MariaDB か PostgreSQL TallStack を選びます。プリセットで一般的な構成を入力できます:MAMP(ポート 8889)、Homebrew や Docker、TLS で接続するクラウドのデータベース、Postgres.app、Supabase、Neon、RDS。
  3. 名前を付け、サーバ、ポート、データベース、ユーザ、パスワードを入力します。
  4. セキュリティを選びます:暗号化(TLS)、暗号化し、サーバの証明書も確認(CA ファイルを選びます)、暗号化なし。暗号化なしは、この Mac とローカルネットワークでのみ使えます。
  5. テストをクリックしてから、保存をクリックします。
  6. サイトのカード(詳細)で、データベースを新しい接続に設定します。

すると、サイトにはそのデータベースの情報が DB_HOST、DB_PORT などとして渡され、さらに DATABASE_URL、DB_CONNECTION、DB_SSL_MODE も渡されます。

外部の接続にはそれぞれ、テスト、書き出し…、Pancake にコピー(安全に開発できるよう <name>_copy という名前のローカルのコピーを作ります)、編集…、そして接続を忘れるだけでデータベースには触れないゴミ箱のボタンがあります。

メモ

Pancake はソケットファイルではなくネットワークで接続します。App Store のアプリはほかのアプリのソケットを使えないためです。ホストには 127.0.0.1 と、そのサーバのポートを指定してください。

SSH 経由

TallStack サーバ自身からのデータベース接続しか受け付けないサーバは少なくありません。SSH 経由で接続をオンにし、SSH サーバ、ポート、ユーザ、パスワードか鍵ファイルを入力します。この場合、データベースのサーバには SSH サーバから見たアドレス(通常は 127.0.0.1)を指定します。Pancake はトンネルを開いたままにし、切れたら開き直します。

テストに失敗したら

Pancake はよくあるエラーをわかりやすい言葉で表示します。ユーザ名かパスワードが違う。その名前のデータベースがない。サーバがこの Mac からの接続を受け付けていない(サーバ側で許可するか、SSH 経由で接続してください)。サーバ名が見つからない。そのポートで何も応答しない(サーバは動いていますか?ファイアウォールはこの Mac を許可していますか?)。暗号化した接続に失敗した(サーバがネットワーク上にあって TLS がない場合は「暗号化なし」を、独自の認証局を使っている場合は CA ファイルを選んでください)。

7.6PostgreSQL

FullStack Pancake には PostgreSQL 17 が含まれています。サービスペインでオンにします。すると各サイトに専用の PostgreSQL データベースとロール(site_<name>)も用意され、サイトはそれを PGHOST、PGPORT、PGDATABASE、PGUSER、PGPASSWORD、POSTGRES_URL から読みます。PHP の pgsql と pdo_pgsql 拡張機能も含まれています。

PostgreSQL のデータベースは、データベースペインの専用のセクションに、同じ Adminer、書き出し、読み込み、新規データベースのボタンとともに表示されます。ほかのアプリからは、ユーザ postgres とpostgres のパスワードをコピー(詳細)を使います。