Skip to main content

Command

Enum Command 

Source
pub enum Command {
Show 16 variants Make { make_command: MakeCommand, }, Migrate { args: MigrateArgs, }, MigrateStatus { path: String, db_type: String, show_sql: bool, url: Option<String>, }, RouteList { format: String, }, CacheClear { store: Option<String>, }, Seed { path: String, db_type: String, show_sql: bool, url: Option<String>, class: Option<String>, }, Scheduler { scheduler_command: SchedulerCommand, }, OptimizeRoute, OptimizeConfig, OptimizeSchema, RouteClear, Plugin { plugin_command: PluginCommand, }, Admin { admin_command: AdminCommand, }, Serve { with_admin: bool, with_tenant: bool, with_data_scope: bool, addr: String, watch_config: bool, workers: Option<u16>, grace_timeout: Option<u16>, tls_cert: Option<PathBuf>, tls_key: Option<PathBuf>, access_log: bool, health: bool, no_health: bool, }, ServeReload, ServeLogLevel,
}
Expand description

顶层命令枚举

对齐 PHP think 的命令分组(make / migrate / route / cache)。

Variants§

§

Make

代码生成命令组(make:migration / make:model / make:controller / make:guard / make:scaffold)

Fields

§make_command: MakeCommand

make 子命令

§

Migrate

数据库迁移命令(migrate / migrate:status / migrate:rollback)

Fields

§args: MigrateArgs

迁移子命令参数

§

MigrateStatus

迁移状态查询(对齐 PHP php think migrate:status)

Fields

§path: String

迁移目录(默认 migrations)

§db_type: String

数据库类型(默认 postgres,对齐 sz-orm DbType)

§show_sql: bool

打印每个迁移的 SQL 内容

§url: Option<String>

数据库连接 URL(启用在线模式,查询真实状态)

省略时为离线模式,所有迁移状态显示为 Pending*。

§

RouteList

路由列表(对齐 PHP php think route:list)

Fields

§format: String

输出格式(table / json)

§

CacheClear

清空缓存(对齐 PHP php think cache:clear)

Fields

§store: Option<String>

指定缓存存储名(默认清空所有)

§

Seed

数据填充(对齐 PHP php think db:seed)

从 seeds/ 目录加载 .sql 文件并执行。提供 --url 时连接数据库真实执行, 否则为离线模式(仅打印待执行内容)。

Fields

§path: String

填充目录(默认 seeds)

§db_type: String

数据库类型(默认 postgres,对齐 sz-orm DbType)

§show_sql: bool

打印每个填充文件的 SQL 内容

§url: Option<String>

数据库连接 URL(启用在线模式)

省略时为离线模式,仅打印待执行的 SQL。

§class: Option<String>

指定填充器文件名(不含扩展名,如 001_users_seed)

省略时执行目录下所有 .sql 文件。

§

Scheduler

调度器命令组(scheduler:list / scheduler:run / scheduler:start)

Fields

§scheduler_command: SchedulerCommand

scheduler 子命令

§

OptimizeRoute

生成路由缓存(对齐 PHP php think optimize:route)

收集路由元数据,序列化为 JSON 写入 runtime/cache/route_cache.json。

§

OptimizeConfig

生成配置缓存(对齐 PHP php think optimize:config)

扫描 config/ 目录,合并所有配置,序列化为 JSON 写入 runtime/cache/config_cache.json。

§

OptimizeSchema

生成数据表字段缓存(对齐 PHP php think optimize:schema)

读取 config/database.yml 数据库连接配置,生成 schema 缓存索引文件 (runtime/schema_cache.json + runtime/schema_cache.php)。 业务方运行时通过 SchemaCache::remember_schema() 填充具体字段信息。

§

RouteClear

清除路由缓存(对齐 PHP php think route:clear)

删除 runtime/cache/route_cache.json 文件。

§

Plugin

插件市场命令组(plugin search/install/publish/uninstall/update/list/login)

Fields

§plugin_command: PluginCommand

plugin 子命令

§

Admin

Admin 后台管理插件命令组(admin migrate/list-routes/list-capabilities/init)

Fields

§admin_command: AdminCommand

admin 子命令

§

Serve

启动 HTTP 服务(对齐 PHP php think run)

Fields

§with_admin: bool

启用 admin 插件(加载 /api/admin/* 路由 + Capability 注册)

§with_tenant: bool

启用 tenant_middleware(从 X-Tenant-Id Header 提取租户 ID)

§with_data_scope: bool

启用 data_scope_middleware(注入数据权限上下文)

§addr: String

监听地址(默认 0.0.0.0:8080)

§watch_config: bool

启用配置热重载(监听 config/ 目录文件变更)

§workers: Option<u16>

worker 线程数(默认 CPU 核心数,上限 1024)

§grace_timeout: Option<u16>

优雅关闭超时秒数(默认 30,上限 300)

§tls_cert: Option<PathBuf>

TLS 证书文件路径

§tls_key: Option<PathBuf>

TLS 私钥文件路径

§access_log: bool

启用访问日志中间件

§health: bool

启用健康检查端点(默认启用)

§no_health: bool

禁用健康检查端点

§

ServeReload

触发运行中的 serve 进程重载配置(Windows 替代 SIGUSR1/SIGHUP)

Unix 平台建议使用 kill -USR1 <pid> 或 kill -HUP <pid>。 首版仅输出提示信息,完整实现需后续版本支持。

§

ServeLogLevel

触发运行中的 serve 进程切换日志级别(Windows 替代 SIGUSR2)

Unix 平台建议使用 kill -USR2 <pid>。 首版仅输出提示信息,完整实现需后续版本支持。

Trait Implementations§

Source§

impl Debug for Command

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Command

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Command

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more