nb env update

nb env update используется для обновления конфигурации уже сохранённого env. С его помощью можно изменить адрес API, способ аутентификации, источник исходного кода, путь к локальному приложению, порт, параметры базы данных и т. д. После завершения обновления CLI автоматически выполнит необходимые последующие действия в зависимости от изменений.

Если не передавать параметры конфигурации, CLI также выполнит повторную синхронизацию на основе текущего состояния env.

Использование

nb env update [name] [flags]

Общие параметры

ПараметрТипОписание
[name]stringИмя настроенного окружения, которое нужно обновить; если не указано, используется текущий env.
--verbosebooleanПоказывает подробный ход выполнения.

Параметры API и аутентификации

ПараметрТипОписание
--api-base-url, -ustringАдрес API NocoBase, включая префикс /api.
--auth-typestringСпособ аутентификации: basic, token, oauth.
--access-token, --token, -tstringAPI key или access token для аутентификации token. После сохранения способ аутентификации будет переключён на token.
--usernamestringИмя пользователя, сохраняемое для аутентификации basic. Можно использовать только если текущий env уже использует basic, либо одновременно передан --auth-type basic.

Параметры исходного кода и загрузки

ПараметрТипОписание
--sourcestringСохранённый источник приложения: docker, git, local, npm.
--download-version, --versionstringСохранённый параметр версии: Docker tag, версия npm-пакета или Git ref.
--docker-registrystringИмя реестра Docker-образов без тега.
--docker-platformstringПлатформа Docker-образа: auto, linux/amd64, linux/arm64.
--git-urlstringАдрес Git-репозитория.
--npm-registrystringRegistry для загрузки npm/Git и установки зависимостей.
--dev-dependencies / --no-dev-dependenciesbooleanУстанавливать ли devDependencies при установке через npm/Git.
--build / --no-buildbooleanВыполнять ли автоматическую сборку после загрузки через npm/Git.
--build-dts / --no-build-dtsbooleanГенерировать ли файлы объявлений TypeScript при сборке.

Параметры приложения

ПараметрТипОписание
--app-pathstringКаталог приложения. Сейчас по умолчанию рекомендуется в первую очередь использовать этот параметр для управления локальным каталогом.
--app-portstringHTTP-порт приложения.
--app-keystringКлюч приложения (APP_KEY).
--timezonestringЧасовой пояс приложения (TZ).

Параметры базы данных

ПараметрТипОписание
--builtin-db / --no-builtin-dbbooleanИспользовать ли встроенную базу данных, управляемую CLI.
--db-dialectstringТип базы данных: postgres, mysql, mariadb, kingbase.
--builtin-db-imagestringОбраз контейнера встроенной базы данных.
--db-hoststringАдрес хоста базы данных.
--db-portstringПорт базы данных.
--db-databasestringИмя базы данных.
--db-userstringИмя пользователя базы данных.
--db-passwordstringПароль базы данных.
--db-schemastringСхема базы данных. Обычно используется только в PostgreSQL.
--db-table-prefixstringПрефикс таблиц базы данных.
--db-underscored / --no-db-underscoredbooleanИспользовать ли стиль с подчёркиваниями для имён таблиц и полей.

Параметры очистки конфигурации

ПараметрТипОписание
--unsetstring[]Очищает одно или несколько сохранённых полей по каноническому имени флага. Параметр можно передавать несколько раз, а также через запятую, например --unset git-url,username.

Примечания

Tip

Если вы хотите только повторно синхронизировать CLI по актуальному состоянию текущего env, достаточно выполнить nb env update или nb env update <name> без дополнительных параметров.

  • После завершения обновления CLI автоматически выполнит необходимые последующие синхронизации в соответствии с этим изменением.
  • Остальные параметры обновляют только сохранённую конфигурацию env; приложение не будет автоматически перезапущено, а локальный исходный код или Docker-образ не будут автоматически заменены.
  • После изменения таких параметров, как app-path, app-port, timezone, db-*, CLI обычно предложит затем выполнить nb app restart --env <name>; если изменения затрагивают встроенную базу данных, управляемую CLI, будет предложено использовать nb app restart --env <name> --with-db.
  • При обновлении таких настроек исходного кода, как source, download-version, docker-registry, git-url, npm-registry, изменяются только сохранённые значения. Существующий локальный исходный код, зависимости и образы автоматически не заменяются.
  • --access-token нельзя использовать вместе с --auth-type basic или --auth-type oauth.
  • Для одного и того же поля нельзя одновременно использовать --unset и явное значение. Например, нельзя одновременно указать --unset git-url и --git-url ....
  • Если вы переключили способ аутентификации на basic или oauth, либо очистили token, обычно после этого нужно выполнить nb env auth <name>.

Примеры

# Повторно синхронизировать текущий env по актуальному состоянию
nb env update

# Повторно синхронизировать указанный env по актуальному состоянию
nb env update prod

# Обновить адрес API
nb env update prod --api-base-url http://localhost:13000/api

# Обновить token и переключить способ аутентификации на token
nb env update prod --access-token <token>

# Переключиться на аутентификацию basic, сохранить только имя пользователя и позже выполнить nb env auth
nb env update prod --auth-type basic --username admin

# Изменить источник исходного кода и версию, обновив только сохранённую конфигурацию
nb env update local --source git --git-url git@github.com:nocobase/nocobase.git --download-version next

# Изменить порт приложения и часовой пояс, а приложение перезапустить позже
nb env update local --app-port 13080 --timezone Asia/Shanghai

# Очистить сохранённые поля
nb env update local --unset git-url --unset username
nb env update local --unset git-url,username

Связанные команды