使用PostgreSQL添加外键约束Swift Vapor Fluent

时间:2017-05-11 07:17:29

标签: swift postgresql foreign-keys fluent vapor

当我启动此命令行 steam run prepare 时,我得到了正确的表,但未添加外键约束。

我有一个Theme类和一个Question类:

主题: 名称, ID

问题: 标题, ID, theme_id

这是我的问题类中的准备数据库功能:

static func prepare(_ database: Database) throws {

        try database.create("questions") { questions in
            questions.id()
            questions.string("title")
            questions.parent(Theme.self, optional: false)
        }


    }

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

此外,可以在准备期间添加原始SQL语句,这可以帮助您摆脱大多数情况。例如,可以添加此附加行以在多个列之间创建唯一约束。

questions.raw("UNIQUE (pararent_id, title)")

但是有很多用途......