【发布时间】:2017-05-19 02:06:58
【问题描述】:
我正在尝试使用 Vapor 命令恢复 PostgreSQL 数据库:
vapor run prepare --revert -y
我明白了:
Running mist...
Are you sure you want to revert the database?
y/n>yes
Reverting Post
Reverted Post
Removing metadata
Reversion complete
如果您想知道,我已经多次尝试这样做,所以 Post 类已准备好,但其他类没有。
此命令恢复所有模型的表,除了一个(总共四个)。
由于某些原因,'pages' 表不会恢复。
当我在还原数据库后尝试运行应用程序时,我收到此错误:
invalidSQL("ERROR: relation \"pages\" already exists\n")
这是模型的数据库准备代码:
extension Page: Preparation {
static func prepare(_ database: Database) throws {
try database.create("pages", closure: { post in
post.id()
post.string("content", length: 10000)
post.string("name")
post.string("link")
})
}
static func revert(_ database: Database) throws {
try database.delete("pages")
}
}
【问题讨论】:
-
听起来
Page记录不知何故从fluent表中丢失,因此它不知道在还原操作中包含该表。
标签: swift postgresql revert vapor