有一个需求:要先清除本地数据库数据,然后在操作数据库。有两种方案;
方案一:我先按照greendao给我们提供的deleteAll()进行清除,再操作。这样会报UNIQUE constraint fail(code 1555);网上有人说把id设置成Long,然后自增。可是我们的id应为某种原因是string类型的。这种方案行不通了;
方案二:删除整个db文件在操作,这时候同样报错了:disk i/o error
终于得到解决办法了;希望能帮助到有需要的人;
1、清除数据库信息
DaoSession daoSession = DaoManager.getInstance().getDaoSession();
Database database = daoSession.getDrugstoreCommodityDao().getDatabase();
DaoMaster.dropAllTables(database, true);
DaoMaster.createAllTables(database, true);