gpt4 book ai didi

mysql - 仅当表不存在时如何执行 DDL?

转载 作者:IT老高 更新时间:2023-10-29 00:18:41 26 4
gpt4 key购买 nike

我将 Slick 1.0 与 Play Framework 2.1 和 MySQL 一起使用。

我想控制 ddl 表的创建,以便它只在表不存在时发生。也就是说,表格应该只在我第一次开始游戏时创建。

如何在 Slick 中做到这一点?

最佳答案

因为我喜欢单独控制表的创建并保持 DRY,所以我倾向于在我的应用程序中添加一个实用方法:

def createIfNotExists(tables: TableQuery[_ <: Table[_]]*)(implicit session: Session) {
tables foreach {table => if(MTable.getTables(table.baseTableRow.tableName).list.isEmpty) table.ddl.create}
}

然后您可以使用隐式 session 创建您的表:

db withSession {
implicit session =>
createIfNotExists(table1, table2, ..., tablen)
}

关于mysql - 仅当表不存在时如何执行 DDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15408489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com