【问题标题】:Vapor PostgreSQL Error: invalidSQL("ERROR: relation \"pages\" already exists\n")Vapor PostgreSQL 错误:invalidSQL("错误:关系 \"pages\" 已经存在\n")
【发布时间】: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


【解决方案1】:

我设法通过删除旧数据库来解决这个问题:

dropdb `whoami`

然后创建一个新的:

createdb `whoami`

问题解决了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2022-06-26
    • 2013-02-04
    • 2018-10-05
    • 2018-06-29
    • 2017-08-28
    相关资源
    最近更新 更多