AndroidDataBase
数据库架构实现增删改查,多表分库,通过xml全局升级
多表分库针对每一个登陆用户会创建单独的数据库,总表记录了每一个分库的路径以获取对应的DataBase。
首先应该写入当前的版本号和最新的版本号到本地,可以写入file的形式。升级的时候会读取此文件,到xml中找到要升级的版本,获取sql语句来实现升级的功能。
升级步骤,
1、执行rename操作。
2、执行新建表操作。
3、讲rename表中的数据copy到新建的表中,然后删除rename表。
考虑到安全问题,可以在执行升级之前把当前数据库中的数据备份,完成升级后删除即可。
xml升级,xml定义格式如下:
create table if not exists tb_user(
name TEXT,
password TEXT,
loginName TEXT,
lastLoginTime TEXT,
_id Text
);
create table if not exists tb_photo(
time TEXT,
path TEXT,
to_user TEXT,
sendTime TEXT
);
versionFrom="V002"
versionTo="V003">
alter table tb_photo rename to bak_tb_photo;
insert into tb_photo(time,
path)
select time,path
from bak_tb_photo;
drop table if exists bak_tb_photo;
alter table tb_user rename to bak_tb_user;
insert into tb_user(name,
password,_id)
select name,password,_id
from bak_tb_user;
drop table if exists bak_tb_user;