nb env update

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

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

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

nb env update [name] [flags]

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

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

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

ПараметрТипОписание
--api-base-url, -ustringURL 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-urlstringURL Git-репозитория
--npm-registrystringРеестр, используемый для npm- или Git-загрузок и установки зависимостей
--dev-dependencies / --no-dev-dependenciesbooleanНужно ли устанавливать devDependencies для npm- или Git-источников
--build / --no-buildbooleanНужно ли автоматически запускать сборку после npm- или Git-загрузки
--build-dts / --no-build-dtsbooleanНужно ли генерировать TypeScript declaration files во время сборки

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

ПараметрТипОписание
--app-pathstringКаталог приложения. Сейчас это рекомендуемый способ управления локальным путём приложения
--app-public-pathstringПубличный путь приложения (APP_PUBLIC_PATH), например / или /nocobase/
--app-portstringHTTP-порт приложения
--cdn-base-urlstringБазовый URL CDN для статических клиентских ресурсов (CDN_BASE_URL)
--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
  • После изменения параметров вроде app-port, app-public-path или cdn-base-url, которые влияют на результат reverse proxy, повторно выполните nb proxy nginx generate или nb proxy caddy generate, если вы уже используете сгенерированную proxy-конфигурацию
  • При обновлении параметров источника, таких как 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

# Обновить URL 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

# Изменить публичный путь и при необходимости затем пересоздать proxy
nb env update local --app-public-path /nocobase/

# Сохранить базовый CDN URL для клиентских ресурсов
nb env update local --cdn-base-url https://cdn.example.com/nocobase/

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

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