Java 在应用程序中更改ORMLite数据库结构时会发生什么情况
我在android应用程序中使用ORMLite数据库,现在我想更改数据库的整体结构,如(重命名表、添加/删除列、更改关系等) 这里的问题是,以前安装过我的应用程序的设备是否会发生冲突?换言之,在更新应用程序时,ORMLite是否会留下以前安装的任何痕迹,从而与新安装发生冲突?!!因此,如果我有一个名为Java 在应用程序中更改ORMLite数据库结构时会发生什么情况,java,android,ormlite,Java,Android,Ormlite,我在android应用程序中使用ORMLite数据库,现在我想更改数据库的整体结构,如(重命名表、添加/删除列、更改关系等) 这里的问题是,以前安装过我的应用程序的设备是否会发生冲突?换言之,在更新应用程序时,ORMLite是否会留下以前安装的任何痕迹,从而与新安装发生冲突?!!因此,如果我有一个名为parent的表,并且我将其名称更改为guardian,那么在新版本中我现在会有两个表吗 如果答案是否定的,那么为什么会有类似数据库版本的东西呢 如果答案是是,那么如何删除应用程序中不再存在的表?我
parent
的表,并且我将其名称更改为guardian
,那么在新版本中我现在会有两个表吗
如果答案是否定的,那么为什么会有类似数据库版本的东西呢
如果答案是是,那么如何删除应用程序中不再存在的表?我是否可以使用相同的类名和不同的表名注释来覆盖上一个表?我没有专门使用ORMLite。但它只是一个ORM,这意味着,它不会根据特定条件决定是否删除该表。这是客户必须根据其业务规则专门做的事情。现在在Android中,有一些特定的方法可以升级当前的数据库模式,而无需删除现有表- 但是在SQLIte上升级数据库模式有很多局限性,即有太多的操作不像成熟的DBMS那样不受支持。但这也是SQLIte如此轻量级的部分原因。通常在您的开发周期中,尽可能早地总结出一个稳定的数据库模式,这在以后需要少量添加(SQLIte特别不支持删除列等)。一旦进入生产环境,并且不想处理用户的数据,实现升级逻辑就是最好的选择 但是如果您仍然想显式删除一个表,我看到ORMLite中也有同样的API-
不幸的是,这对我的情况没有帮助,你给了我假设而不是事实,TableUtils API确实用于删除表,但用于删除现有表。