当我在准备后查看我的PostreSQL服务器时,我看到与名称“blogdetails”的关系,但是当我尝试做的时候
try BlogDetails.all()
我总是得到错误“invalidSQL(”错误关系\“blogdetailss \”不存在“拼写这样结束两个S对我来说没有意义,有没有人知道我可能做错了什么,我是尝试dropdb和createdb再次和恢复和准备:( 这是来自我的main.swift
try? drop.addProvider(VaporPostgreSQL.Provider.self)
drop.preparations = [BlogComment.self, BlogDetails.self]
do {
try drop.database?.prepare([BlogComment.self, BlogDetails.self])
print("Database prepared")
} catch {
print("Prepare failed: \(error.localizedDescription)")
}
这是我的模特
struct BlogDetails: Model {
var id: Node?
var exists: Bool = false
let title: String
let author: String
let brief: String
let dateString: String
fileprivate static let entityName = "blogdetails"
init(id: Node? = nil, title: String, author: String, brief: String, dateString: String) {
self.id = id
self.title = title
self.author = author
self.brief = brief
self.dateString = dateString
}
init(node: Node, in context: Context) throws {
self.id = try node.extract(Keys.id)
self.title = try node.extract(Keys.title)
self.author = try node.extract(Keys.author)
self.brief = try node.extract(Keys.brief)
self.dateString = try node.extract(Keys.dateString)
}
func makeNode(context: Context) throws -> Node {
return try Node(node: [
Keys.id: id,
Keys.title: title,
Keys.author: author,
Keys.brief: brief,
Keys.dateString: dateString
])
}
}
extension BlogDetails: Preparation {
static func prepare(_ database: Database) throws {
try database.create(BlogDetails.entityName) { in
.id()
.string(Keys.title)
.string(Keys.author)
.string(Keys.brief)
.string(Keys.dateString)
}
}
static func revert(_ database: Database) throws {
try database.delete(BlogDetails.entityName)
}
}
extension BlogDetails {
struct Keys {
static let id = "id"
static let title = "title"
static let author = "author"
static let brief = "brief"
static let dateString = "date_string"
}
}
答案 0 :(得分:1)
查询的实体名称取自import datetime
d="09012010"
mm=d[:2]
dd=d[2:4]
yr=d[4:]
date = datetime.date(day=dd, month=mm, year=yr)
在您的班级中覆盖此内容的默认值。
即。而不是
static var entity: String { get }
使用
fileprivate static let entityName = "blogdetails"