3

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クラスは準備されますが、他のクラスは準備されません。

このコマンドは、1 つ (合計 4 つ) を除くすべてのモデルのテーブルを元に戻します。

何らかの理由で「ページ」テーブルが元に戻りません。

データベースを元に戻した後にアプリを実行しようとすると、次のエラーが発生します。

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")
    }
}
4

1 に答える 1

3

古いDBを削除することでこれを修正できました:

dropdb `whoami`

次に、新しいものを作成します。

createdb `whoami`

問題が解決しました!

于 2017-01-09T15:44:32.347 に答える