未提供命令,默认为 Vapor 服务

Posted

技术标签:

【中文标题】未提供命令,默认为 Vapor 服务【英文标题】:No command supplied, defaulting to serve Vapor 【发布时间】:2017-01-30 11:13:28 【问题描述】:

我想创建简单的数据库模型。我正在使用 postgresql-provider 包主要:1 次要:1。我已按照说明创建模型。我已经为我的 Droplet 对象添加了准备工作和资源。运行后收到的消息是

未提供命令,默认为... 数据库准备好了 服务器“默认”从 0.0.0.0:8080 开始

有人可以帮我解决这个问题吗?

【问题讨论】:

你到底想解决什么问题? 【参考方案1】:

关于消息No command supplied, defaulting to serve,这是因为二进制可执行文件需要一个“命令”。

vapor run [command]
.build/[configuration]/App [command]

有多种命令可用,例如vapor run prepare 运行您的数据库准备工作,或vapor run serve 启动HTTP 服务器。你甚至可以add your own commands。

当可执行文件在没有任何命令的情况下运行时,它假定您意味着运行serve 命令,这就是您的消息No command supplied, defaulting to serve 的含义。

要抑制这种情况,只需使用 vapor run serve.build/[configuration]/App serve 运行您的 Vapor 项目。

【讨论】:

【参考方案2】:

注意它在消息Database prepared 中的说法。那是因为您在模型中指定的所有表都已经存在。

如果您对模型进行了更改,您首先需要恢复您的更改。 Vapor 有一组专门用于准备数据库的命令。

vapor run prepare --revert

vapor run prepare

--revert 将运行您在模型上的 revert 函数中放置的任何代码(通常人们只是删除表),然后另一个命令将运行准备函数并从头开始创建模型的表再次。

【讨论】:

以上是关于未提供命令,默认为 Vapor 服务的主要内容,如果未能解决你的问题,请参考以下文章

如果未提供列列表,Redshift COPY 命令将忽略表默认值

使用 Vapor4 创建简单的 http2 服务

Vapor - 服务器端 Swift:找不到 css

未提供 Apache2 默认主机 - ispconfig

在 NHibernate 映射中为未使用的列提供默认默认值

错误:未指定默认引擎且未提供扩展名