Kotlin sqldelight:如何确保只调用一次'create'
如何确保在使用应用程序时只调用一次Kotlin sqldelight:如何确保只调用一次'create',kotlin,sqldelight,Kotlin,Sqldelight,如何确保在使用应用程序时只调用一次Database.Schema.create()?您可以将…如果不存在…添加到表定义中,然后在每次启动期间执行SQL指令,但在第一次运行后不会创建表,但是,我不确定这是否是正确的方法 或者,我可以查询这些表并检查它们是否已经存在 我要找的是: if (<first run>) { Database.Schema.create() } if(){ Database.Schema.create() } 我想我可以使用迁移来实现这一点,但迁移对
Database.Schema.create()
?您可以将…如果不存在…
添加到表定义中,然后在每次启动期间执行SQL指令,但在第一次运行后不会创建表,但是,我不确定这是否是正确的方法
或者,我可以查询这些表并检查它们是否已经存在
我要找的是:
if (<first run>) {
Database.Schema.create()
}
if(){
Database.Schema.create()
}
我想我可以使用迁移来实现这一点,但迁移对sqldelight的效果似乎与我预期的不同(我尝试在迁移中创建表,但这不起作用)。这里发布了一个非常有用的回复: 它基本上归结为将当前版本存储在
PRAGMA user_version
(最初为0)中,并在该版本与最新迁移版本不同时执行迁移
这样做的优点是版本存储在数据库中。我在Kotlin项目中采用了此解决方案。您编写此解决方案的目的是什么平台?Android、iOS、JVM?JVM(这只是至少有12个字符的额外文本…)