← Cloudflare D1 / d1 / platform
Průvodce migrací alfa databáze
Otevřená beta verze D1 byla spuštěna v říjnu 2023 a nově vytvořené databáze používají odlišnou podkladovou architekturu, která je výrazně spolehlivější a výkonnější, s vyššími velikostmi databází, lepší propustností dotazů a nižší latencí.
Tento návod vás provede opětovným vytvořením alfa databází D1 v našem produkčním systému.
Předpoklady
- Máte
wranglernástroj příkazové řádky je nainstalovaný - Používáte
wranglerverze3.33.0nebo novější (vydáno v březnu 2024), protože starší verze nemají--remotepříznak vyžadováno jako součást tohoto návodu - Databáze D1 typu „alpha“. Všechny databáze vytvořené před 27. červencem 2023 (poznámky k verzi) používají alfa úložný backend, který už není podporován a nebyl doporučen pro produkční nasazení.
1. Ověřte, že databáze je alfa
npx wrangler d1 info <database_name>Pokud je databáze ve verzi alpha, výstup příkazu bude obsahovat version nastaveno na alpha:
...
│ version │ alpha │
...2. Vytvořte ruční zálohu
npx wrangler d1 backup create <alpha_database_name>3. Stáhněte ruční zálohu
Následující příkaz stáhne ruční zálohu databáze alpha jako .sqlite3 soubor:
npx wrangler d1 backup download <alpha_database_name> <backup_id> # See available backups with wrangler d1 backup list <database_name>4. Převeďte ruční zálohu na příkazy SQL
Následující příkaz převede ruční zálohu databáze alpha ze staženého .sqlite3 soubor na SQL příkazy, které pak lze importovat do nové databáze:
sqlite3 db_dump.sqlite3 .dump > db.sqlJakmile spustíte výše uvedený příkaz, budete muset upravit výstupní soubor SQL tak, aby byl kompatibilní s D1:
-
Odebrat
BEGIN TRANSACTIONaCOMMIT;ze souboru. -
Odstraňte následující příkaz pro vytvoření tabulky:
CREATE TABLE _cf_KV ( key TEXT PRIMARY KEY, value BLOB ) WITHOUT ROWID;
5. Vytvořte novou databázi D1
Všechny nové databáze D1 ve výchozím nastavení používají aktualizovanou architekturu.
Spusťte následující příkaz pro vytvoření nové databáze:
npx wrangler d1 create <new_database_name>6. Spusťte příkazy SQL nad novou databází D1
npx wrangler d1 execute <new_database_name> --remote --file=./db.sql7. Odstraňte svou alfa databázi
Chcete-li odstranit svou předchozí alfa databázi, spusťte:
npx wrangler d1 delete <alpha_database_name>