SQLite升级与降级
发布时间:2020-12-12 19:21:39 所属栏目:百科 来源:网络整理
导读:SQLiteException: no such table(GreenDao),SQLite创建表与更新表与版本号的联系?? SQLite版本号升级时,会执行DatabaSEOpenHelper的onCreate()?? App版本更新时对SQLite数据库表的修改问题- http://blog.csdn.net/u013067184/article/details/48031081
> SQLiteException: no such table(GreenDao),SQLite创建表与更新表与版本号的联系??
SQLite版本号升级时,会执行DatabaSEOpenHelper的onCreate()?? App版本更新时对SQLite数据库表的修改问题- http://blog.csdn.net/u013067184/article/details/48031081 SQLiteException: table TAREAS has no column - https://stackoverflow.com/questions/36308339/greendao-android-database-sqlite-sqliteexception-table-tareas-has-no-column-na , https://stackoverflow.com/questions/934237/sqlite-exception-no-such-table-error 版本更新时,sqlite表结构发生变化了该怎样处理,最有效的方案就是先删除老的数据,重新调用onCreate(db); @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { context.deleteDatabase(DB_NAME); onCreate(db); }
GreenDaoUpgradeHelper- https://github.com/yuweiguocn/GreenDaoUpgradeHelper App版本更新时对SQLite数据库表的修改问题- http://blog.csdn.net/u013067184/article/details/48031081 Android SQLite数据库的数据升级与降级- http://www.cnblogs.com/zhaoyucong/p/6118226.html 主要的三个方法: onCreate()该方法是在你没有安装过(第一次运行)的时候执行,这时可以在这个函数中完成初始的数据表的创建 onUpgrade()该方法是在你安装过的情况下,对数据继续更新的时候执行,这时可以在这个函数完成数据库版本升级带来的旧版本的兼容问题,以及数据迁移问题。 onDowngrade()该方法是在现逆向降级(如应用由版本号4降级安装版本号为3的包)时必须重写的方法,如果应用降级覆盖安装时没有重写该方法则会崩溃。 onCreate:调用时机是用户首次安装应用后启动,或是清除App数据库文件后启动。这时可以在这个函数中完成初始的数据表的创建。 onUpgrade:调用时机是用户在做应用更新,覆盖安装后启动,如果新版本中数据库版本号要比旧版本中的数据库版本号高则会调用。这时可以在这个函数完成数据库版本升级带来的旧版本的兼容问题,以及数据迁移问题。 因为有的用户手机上本来就有第一版本的APP,所以在App升级到第二版本时会执行onUpgrade(),不会执行onCreate()。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |