nb env update

nb env update cập nhật cấu hình của một env đã lưu. Bạn có thể dùng nó để điều chỉnh địa chỉ API, phương thức xác thực, nguồn mã nguồn, đường dẫn ứng dụng cục bộ, public path, cổng, tham số cơ sở dữ liệu và nhiều thứ khác. Sau khi cập nhật xong, CLI sẽ tự động xử lý các bước tiếp theo cần thiết theo đúng những thay đổi đó.

Nếu bạn không truyền bất kỳ tham số cấu hình nào, CLI vẫn sẽ thực hiện đồng bộ lại dựa trên trạng thái hiện tại của env.

Cách dùng

nb env update [name] [flags]

Tùy chọn chung

Tùy chọnKiểuMô tả
[name]stringTên env đã cấu hình cần cập nhật. Nếu bỏ qua, env hiện tại sẽ được dùng
--verbosebooleanHiển thị tiến trình chi tiết

Tùy chọn API và xác thực

Tùy chọnKiểuMô tả
--api-base-url, -ustringURL API của NocoBase, bao gồm tiền tố /api
--auth-typestringPhương thức xác thực: basic, token, hoặc oauth
--access-token, --token, -tstringAPI key hoặc access token dùng cho xác thực token. Khi lưu, kiểu xác thực cũng sẽ chuyển sang token
--usernamestringTên người dùng được lưu cho xác thực basic. Chỉ dùng khi env hiện tại đã dùng basic, hoặc dùng cùng --auth-type basic

Tùy chọn nguồn và tải xuống

Tùy chọnKiểuMô tả
--sourcestringNguồn ứng dụng đã lưu: docker, git, local, hoặc npm
--download-version, --versionstringBộ chọn phiên bản đã lưu: Docker tag, phiên bản gói npm, hoặc Git ref
--docker-registrystringTên registry của image Docker, không kèm tag
--docker-platformstringNền tảng image Docker: auto, linux/amd64, hoặc linux/arm64
--git-urlstringURL repository Git
--npm-registrystringRegistry dùng cho tải npm hoặc Git và cài dependency
--dev-dependencies / --no-dev-dependenciesbooleanCó cài devDependencies cho nguồn npm hoặc Git hay không
--build / --no-buildbooleanCó tự động build sau khi tải npm hoặc Git hay không
--build-dts / --no-build-dtsbooleanCó sinh file khai báo TypeScript trong lúc build hay không

Tùy chọn ứng dụng

Tùy chọnKiểuMô tả
--app-pathstringThư mục ứng dụng. Đây hiện là cách được khuyến nghị để quản lý đường dẫn ứng dụng cục bộ
--app-public-pathstringPublic path của ứng dụng (APP_PUBLIC_PATH), chẳng hạn / hoặc /nocobase/
--app-portstringCổng HTTP của ứng dụng
--cdn-base-urlstringURL gốc CDN cho static asset phía client (CDN_BASE_URL)
--app-keystringKhóa ứng dụng (APP_KEY)
--timezonestringMúi giờ của ứng dụng (TZ)

Tùy chọn cơ sở dữ liệu

Tùy chọnKiểuMô tả
--builtin-db / --no-builtin-dbbooleanCó dùng cơ sở dữ liệu tích hợp do CLI quản lý hay không
--db-dialectstringLoại cơ sở dữ liệu: postgres, mysql, mariadb, hoặc kingbase
--builtin-db-imagestringImage container dùng cho cơ sở dữ liệu tích hợp
--db-hoststringHost của cơ sở dữ liệu
--db-portstringCổng của cơ sở dữ liệu
--db-databasestringTên cơ sở dữ liệu
--db-userstringTên người dùng cơ sở dữ liệu
--db-passwordstringMật khẩu cơ sở dữ liệu
--db-schemastringSchema của cơ sở dữ liệu. Thông thường chỉ dùng với PostgreSQL
--db-table-prefixstringTiền tố bảng
--db-underscored / --no-db-underscoredbooleanCó dùng kiểu đặt tên có dấu gạch dưới cho bảng và trường hay không

Dọn dẹp cấu hình

Tùy chọnKiểuMô tả
--unsetstring[]Xóa một hoặc nhiều trường đã lưu theo tên flag. Bạn có thể lặp lại tùy chọn này hoặc truyền danh sách phân tách bằng dấu phẩy, chẳng hạn --unset git-url,username

Ghi chú

Tip

Nếu bạn chỉ muốn CLI đồng bộ lại theo trạng thái mới nhất của env hiện tại, chỉ cần chạy nb env update hoặc nb env update <name> mà không cần thêm tùy chọn nào.

  • Sau khi cập nhật xong, CLI sẽ tự động xử lý các bước đồng bộ tiếp theo cần thiết dựa trên những thay đổi vừa thực hiện
  • Các tùy chọn khác chỉ cập nhật cấu hình env đã lưu. Chúng không tự động restart ứng dụng hay thay thế mã nguồn cục bộ hoặc image Docker
  • Sau khi sửa các thiết lập như app-path, app-port, timezone, hoặc db-*, CLI thường sẽ nhắc bạn chạy nb app restart --env <name>; nếu thay đổi liên quan đến cơ sở dữ liệu tích hợp do CLI quản lý, CLI sẽ nhắc dùng nb app restart --env <name> --with-db
  • Sau khi sửa các thiết lập như app-port, app-public-path, hoặc cdn-base-url ảnh hưởng đến kết quả reverse proxy, hãy chạy lại nb proxy nginx generate hoặc nb proxy caddy generate nếu bạn đang dùng cấu hình proxy được sinh ra
  • Khi cập nhật các thiết lập nguồn như source, download-version, docker-registry, git-url, hoặc npm-registry, chỉ các giá trị đã lưu được thay đổi. Mã nguồn cục bộ, dependency và image hiện có sẽ không tự động bị thay thế
  • --access-token không thể dùng cùng --auth-type basic hoặc --auth-type oauth
  • Không thể dùng cùng một trường vừa với --unset vừa với giá trị tường minh. Ví dụ, đừng dùng --unset git-url cùng với --git-url ...
  • Nếu bạn chuyển phương thức xác thực sang basic hoặc oauth, hoặc xóa token, sau đó bạn thường cần chạy nb env auth <name>

Ví dụ

# Đồng bộ lại env hiện tại theo trạng thái đã lưu mới nhất
nb env update

# Đồng bộ lại một env cụ thể
nb env update prod

# Cập nhật URL API
nb env update prod --api-base-url http://localhost:13000/api

# Cập nhật token và chuyển kiểu xác thực sang token
nb env update prod --access-token <token>

# Chuyển sang xác thực basic, lưu tên người dùng và chạy nb env auth sau
nb env update prod --auth-type basic --username admin

# Cập nhật nguồn và phiên bản đã lưu mà chưa thay thế mã cục bộ ngay
nb env update local --source git --git-url git@github.com:nocobase/nocobase.git --download-version next

# Điều chỉnh cổng ứng dụng và múi giờ, rồi restart sau
nb env update local --app-port 13080 --timezone Asia/Shanghai

# Điều chỉnh public path và sinh lại proxy sau nếu cần
nb env update local --app-public-path /nocobase/

# Lưu URL gốc CDN cho asset phía client
nb env update local --cdn-base-url https://cdn.example.com/nocobase/

# Xóa các trường đã lưu
nb env update local --unset git-url --unset username
nb env update local --unset git-url,username

Lệnh liên quan