我正在努力弄清楚如何使用 Fluent 将两个表连接在一起。本质上我想运行这个 SQL 命令:
SELECT p.name, o.amount, o.amount * p.amount total
FROM "OrderPoints" o
INNER JOIN "Points" p ON o.points_id = p.id
WHERE order_id = 10831
Run Code Online (Sandbox Code Playgroud)
我的两个模型设置如下:
final class OrderPoint: Codable, PostgreSQLModel, Content, Migration {
var id: Int? = nil
var orderID: Order.ID
var pointID: Point.ID
var amount: Double = 0
var point: Parent<OrderPoint, Point> {
return parent(\.pointID)
}
}
final class Point: Codable, PostgreSQLModel, Content, Migration {
var id: Int? = nil
var name: String
var abbrev: String …Run Code Online (Sandbox Code Playgroud) 我从 Vapor 3 更新到 4,从 Xcode 11 更新到 12。现在 Leaf 找不到我的 *.leaf 模板。我收到“noTemplateFile”错误。
对于我的 Vapor 项目,我想主要使用单个 Postgres 数据库。但是,对于某些长时间运行的请求,我想使用同一数据库的单独只读克隆。
这方面的文档非常稀疏。如何在现有默认数据库旁边添加另一个数据库连接?
static func configureDatabase(_ app: Application) throws {
try app.databases.use(.postgres(url: "postgresql://user@localhost:5432/user"), as: .psql)
}
Run Code Online (Sandbox Code Playgroud)
运行查询时,如何告诉 Fluent 在第二个数据库上运行这些查询?
如何在Ubuntu 14上安装Vapor,并在本地安装以使用最新的Swift版本?
这个问题是关于Swift Web Framework,Vapor.
我正在尝试使用Swift的Package Manager导入VaporMySQL框架.
我已经在本地运行数据库,mySQL端口打开并正常工作,mySQL数据库正在运行,Vapor应用程序正在运行[我写了几个GET/POST请求有效].
但我无法导入VaporMySQL. 这可能与我对Package.swift缺乏了解有关.
let package = Package(
name: "HelloWorld",
dependencies: [
.Package(url: "https://github.com/qutheory/vapor.git", majorVersion: 0, minor: 10),
.Package(url: "https://github.com/qutheory/cmysql.git", majorVersion: 0, minor: 2)
Run Code Online (Sandbox Code Playgroud) 是否有可能在服务器端Swift框架上安排任务,最好是Kitura?
我需要安排任务; 例如,每天凌晨3点擦除数据库.
我是网络开发的新手,无法找到明确的答案.
可以在Swapor 3的Vapor中使用Bootstrap吗?
你有任何关于如何使用Vapor 2创建一对多关系的例子吗?有一些如何做到这一点的例子,但他们使用旧版本的Vapor.
谢谢你的所有建议.
那是错误
请选择您喜欢的ViewRenderer,有多个可用:PlaintextRenderer,LeafRenderer.
这是我在configure.swift中的代码
try services.register(LeafProvider())
config.prefer(LeafRenderer.self, for: TemplateRenderer.self)
Run Code Online (Sandbox Code Playgroud)
Leaf添加到Package.swift
.target(name: "App", dependencies: ["Vapor", "FluentSQLite", "Crypto", "Leaf"]),
Run Code Online (Sandbox Code Playgroud)
虽然我做了蒸汽xcode,Build and Run,但它仍然拒绝工作.
使用Vapor 3,有没有一种简单的方法可以在服务器运行时切换数据库?
例如,用户使用“登录”数据库登录。然后,我在他们的Cookie中为该用户设置数据库。然后,来自该用户的任何后续请求都将使用cookie中标识的数据库(在这种情况下,“用户”实际上是一家公司)。
所有数据库都来自相同的数据库家族(例如MySQL)。这样可以将每个公司的数据保留在各自的数据库中,并限制每个数据库的大小(并且希望总体而言,数据库操作会更快)。此外,还原数据库的任何需求只会影响一家公司,并且备份会更简单。
还有其他更好的方法来实现这一目标吗?
vapor ×10
swift ×6
leaf ×2
bootstrap-4 ×1
database ×1
fluent ×1
kitura ×1
mysql ×1
postgresql ×1
vapor-fluent ×1
xcode12 ×1