アプリに「覚えてもらう」ための、いちばん短い道
デプロイしたアプリのファイルシステムは一時的です。残したいデータは、データベースへ。
SQLite互換(libSQL)
SQLiteのSQL文法・データ型がそのまま使えます。ローカル開発のSQLiteの延長で、学び直しは不要です。
接続情報は2つだけ
データベースURLと接続トークンだけで、HTTPS経由で接続。トークンは用途別・権限別・期限付きで発行でき、いつでも失効できます。
ローカルからも同じ接続
デプロイしたアプリからも、手元の開発環境からも、同じURL・トークンで接続できます。開発用に短期トークンを分けるのがおすすめです。
SQLiteファイルの持ち込み・持ち出し
手元の .db ファイル(100MiBまで)を取り込んで作成、逆に内容全体を1ファイルでダウンロードも。バックアップも移行もかんたんです。
使い方は3ステップ
プロジェクト詳細の「DB」タブから。オーナー・管理者の権限で操作できます。
データベースを作成する
プロジェクト詳細の「DB」タブから「データベースを作成」。空のDBを新規作成するか、手元のSQLiteファイルを持ち込むかを選べます。作成は通常数秒で完了し、libsql:// で始まるデータベースURLが表示されます。
接続トークンを発行する
「接続トークンを発行」から、用途・権限(読み書き / 読み取り)・有効期限を選んで発行します。トークンが表示されるのは発行直後の一度だけ。この画面で必ずコピーしてください(失くしても再発行できます)。
環境変数に設定して、アプリから接続する
環境変数タブに DATABASE_URL と DATABASE_AUTH_TOKEN を登録し、「AppRunに設定を反映」(または再デプロイ)で稼働中のアプリに反映します。
npm install @libsql/client
import { createClient } from '@libsql/client'
const db = createClient({
url: process.env.DATABASE_URL,
authToken: process.env.DATABASE_AUTH_TOKEN,
})
await db.execute('SELECT 1')Drizzle ORM の libsql ドライバなど、url と authToken で接続するlibSQL対応クライアントも同じように使えます。
たとえば、こんなアプリが作れます
データベース機能だけで作った小さなゲストブックです。投稿はlibSQLに保存され、 再デプロイしても再起動しても消えません。ZIPアップロード → DB作成 → トークン発行 → 環境変数設定、の流れそのままで動いています。

日本の空に咲くクラウド
Calm. Fast. Trusted.
© 2026 hanamii. All rights reserved. 🌸