对于大多数示例和教程,我看到它始终建议执行SQL以删除表(如果它存在于onUpgrade方法中。
为什么要删除表,因为这会删除所有数据,用新版本替换旧数据库版本会不会更好?
这是我无法理解的事情,也没有网上概述原因。
由于
|山姆|
答案 0 :(得分:1)
为简单起见。删除旧版本并重新创建新版本既简单又直接,但也具有破坏性。在许多情况下,这样的数据丢失在开发时并不是一个问题。
编写正确的数据迁移代码将是另一个示例/教程的主题,因为它本身涉及至少两个版本的数据库模式,因此涉及数据库帮助程序。在一个简单的do-this-to-get-started教程中包含迁移示例只会增加不必要的复杂性。
答案 1 :(得分:0)
因为它们是教程:它们假设您没有有价值的数据(或根本没有数据)。在这种情况下,升级模式的最简单方法是删除旧表并创建新表。
不要记住它,你是对的。