← Cloudflare D1 / d1 / platform
Руководство по миграции базы данных alpha
Открытая бета-версия D1 была запущена в октябре 2023 года, и вновь создаваемые базы данных используют другую базовую архитектуру, которая значительно надёжнее и производительнее, с увеличенным размером баз данных, более высокой пропускной способностью запросов и меньшей задержкой.
Это руководство поможет вам заново создать базы данных D1 alpha в готовой к продакшену системе.
Предварительные требования
- У вас есть
wranglerинструмент командной строки установлен - Вы используете
wranglerверсия3.33.0или более поздней версии (выпущенной в марте 2024 года), так как в более ранних версиях отсутствует--remoteфлаг требуется в рамках этого руководства - База данных D1 типа «alpha». Все базы данных, созданные до 27 июля 2023 года (примечания к выпуску) используют бэкенд хранения alpha, который больше не поддерживается и не был рекомендован для продакшена.
1. Проверьте, является ли база данных alpha
npx wrangler d1 info <database_name>Если база данных относится к alpha-версии, вывод команды будет включать version имеет значение alpha:
...
│ version │ alpha │
...2. Создайте ручную резервную копию
npx wrangler d1 backup create <alpha_database_name>3. Загрузите ручную резервную копию
Приведённая ниже команда загрузит резервную копию базы данных alpha в виде .sqlite3 файле:
npx wrangler d1 backup download <alpha_database_name> <backup_id> # See available backups with wrangler d1 backup list <database_name>4. Преобразуйте ручную резервную копию в SQL-операторы
Приведённая ниже команда преобразует резервную копию базы данных alpha из загруженного .sqlite3 файл в SQL-операторы, которые затем можно импортировать в новую базу данных:
sqlite3 db_dump.sqlite3 .dump > db.sqlПосле выполнения указанной выше команды вам нужно будет отредактировать полученный SQL-файл, чтобы он стал совместим с D1:
-
Удалить
BEGIN TRANSACTIONиCOMMIT;из файла. -
Удалите следующий оператор создания таблицы:
CREATE TABLE _cf_KV ( key TEXT PRIMARY KEY, value BLOB ) WITHOUT ROWID;
5. Создайте новую базу данных D1
Все новые базы данных D1 по умолчанию используют обновлённую архитектуру.
Выполните следующую команду, чтобы создать новую базу данных:
npx wrangler d1 create <new_database_name>6. Выполните SQL-операторы к новой базе данных D1
npx wrangler d1 execute <new_database_name> --remote --file=./db.sql7. Удалите свою базу данных alpha
Чтобы удалить предыдущую базу данных alpha, выполните:
npx wrangler d1 delete <alpha_database_name>