OpenAICloudflare Developer PlatformJul 9, 2026, 12:00 AM

Durable Objects, Workers - New Durable Object namespaces must use the SQLite storage backend

A condensed section focused on the key takeaways first.

Original Post

Quick Digest

Summary

A condensed section focused on the key takeaways first.

openaienmodel: gpt-5-mini-2025-08-07

Durable Objects: new namespaces must use the SQLite storage backend

Key Points

  • New Durable Object namespaces must use SQLite
  • Creating new KV-backed namespaces will fail on affected accounts
  • SQLite adds SQL queries and 30-day point-in-time recovery

Summary

Cloudflare now requires new Durable Object namespaces to use the SQLite storage backend. Accounts that do not already have a KV-backed Durable Object namespace can no longer create new KV-backed namespaces; deployments that try will fail with an error instructing you to use a new_sqlite_classes migration instead.

Key Points

  • New Durable Object namespaces must use the SQLite backend (use new_sqlite_classes migrations).
  • Attempts to create new KV-backed namespaces on affected accounts will fail with: "Creating new key-value backed Durable Object namespaces is no longer supported on this account. Please create a namespace using a new_sqlite_classes migration instead."
  • Accounts that already have at least one KV-backed Durable Object namespace can still create KV-backed namespaces for now; Workers Free plan has always used SQLite.
  • SQLite-backed Durable Objects have feature parity with KV-backed ones and add relational SQL queries and point-in-time recovery (restore to any point in the last 30 days).
  • Practical step: add a migration declaring your new classes under new_sqlite_classes in your wrangler config before deploying.

Example migration

JSONC (wrangler.jsonc):

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "migrations": [
    {
      "tag": "v1",
      "new_sqlite_classes": ["MyDurableObject"]
    }
  ]
}

TOML (wrangler.toml):

[[migrations]]
tag = "v1"
new_sqlite_classes = ["MyDurableObject"]

Action for engineers

  • Update CI/deployment configs to use new_sqlite_classes for new Durable Object namespaces.
  • Plan migration for existing KV-backed namespaces using Cloudflare's Durable Objects migration guidance.
  • Verify point-in-time recovery and SQL features for new designs that can benefit from relational queries.

Full Translation

Translations

A translation section that keeps the flow of the original article.

openaijamodel: gpt-5-mini-2025-08-07

Durable Objects、Workers - 新しい Durable Object 名前空間は SQLite ストレージバックエンドを使用する必要があります

概要

もしアカウントに既存の key-value (KV) バックエンドの Durable Object 名前空間がない場合、新しい KV バックエンドの名前空間を作成することはできません。新しい Durable Object 名前空間は SQLite ストレージバックエンドを使用する必要があります。SQLite バックエンドは 2024 年の一般提供開始以降、すべての新しい Durable Objects に推奨されています ↗。

対応方法

新しいクラスを作成するには、new_sqlite_classes マイグレーションを使用します。設定例:

wrangler.jsonc

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "migrations": [
    {
      "tag": "v1",
      "new_sqlite_classes": ["MyDurableObject"]
    }
  ]
}

wrangler.toml

[[migrations]]
tag = "v1"
new_sqlite_classes = [ "MyDurableObject" ]

SQLite バックエンドの利点

  • SQLite-backed Durable Objects は key-value バックエンドと機能上の互換性があります(key-value ストレージ API を含む)。
  • さらに、リレーショナルな SQL クエリをサポートし、過去 30 日間の任意の時点にオブジェクトのストレージを復元できるポイントインタイムリカバリが利用可能です。

エラー例

影響を受けるアカウントで new_classes マイグレーションを使って新しい key-value バックエンドの名前空間を作成しようとすると、デプロイは以下のエラーで失敗します:

Creating new key-value backed Durable Object namespaces is no longer supported on this account. Please create a namespace using a `new_sqlite_classes` migration instead.

注意事項

  • この変更は、既に key-value ストレージバックエンドを使用している名前空間を持たないアカウントにのみ影響します。既に少なくとも 1 つの key-value バックエンドの名前空間を持つアカウントは、現時点では新しい KV 名前空間を作成できます。
  • Workers Free プランは最初から SQLite-backed Durable Objects のみをサポートしています。
  • この変更は、既存の key-value バックエンドのオブジェクトに対する将来の移行パスに先立つ、Durable Objects の単一ストレージバックエンドを SQLite に統一するための一環です。

参考

  • Durable Objects migrations