Pokúšam sa vrátiť databázu PostgreSQL pomocou príkazu Vapor:
vapor run prepare --revert -y
Vyložím to:
Running mist...
Are you sure you want to revert the database?
y/n>yes
Reverting Post
Reverted Post
Removing metadata
Reversion complete
V prípade, že vás zaujíma, skúsil som to urobiť viackrát, takže Post
trieda sa pripraví, ale ostatní nie.
Tento príkaz vráti tabuľky pre všetky modely okrem jedného (celkovo sú štyri).
Z nejakého dôvodu sa tabuľka „stránky“ nevráti.
A keď sa po vrátení databázy pokúsim spustiť aplikáciu, zobrazí sa táto chyba:
invalidSQL("ERROR: relation "pages" already existsn")
Tu je kód na prípravu databázy pre model:
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")
}
}
odpovede:
2 pre odpoveď č. 1Podarilo sa mi to vyriešiť odstránením starej databázy DB:
dropdb `whoami`
Potom vytvorte nový:
createdb `whoami`
Problém je vyriešený!