Android 使用GreenDao 添加字段,删除表,新增表操作
GreenDao 给我个人感觉 比一般的ORM框架要好很多,虽然说上手和其他的比起来,较复杂,但是如果使用熟练以后,你会爱上这个框架的
用这些ORM 框架给我的感觉都是,当升级时,都需要进行数据库所有表的删除,然后再重新创建表,这样的话,开发时候可以,但是真正的项目用,这是不允许的,因为如果用户升级了数据库,那么所有数据都被清空,会让用户反感。卸载应用的可能性就增大了。
greenDao的一系列操作 http://www.open-open.com/lib/view/open1438065400878.html 该网页描述的很清楚,需要的可以去看看
翻阅的人多文章,都大同小异,但是说到数据库升级的,却很少,要么就不可用。所有果断抛弃greendao,然后研究了一些其他的ORM框架,的确,上手更容易,但是,遇到同样的问题,就是当我需要删除,增加,某个表,字段时候,就比较麻烦了,有人说,可用进行数据迁移,的确,这可行,但是因为本人对数据库操作比较少,所有怎么弄也弄不对,然后给我的感觉就是,既然都差不多,那么我就用greenDao ,因为这东西当我用完其他的框架以后,回头来看,它还是比较舒坦的。
如果对GreenDao 感兴趣的 可以参考:
http://www.open-open.com/lib/view/open1438065400878.html 忘记sql 语法的 可以参考:
http://www.runoob.com/sqlite/sqlite-select.html
上述足够进行一般操作了,该文的重点是 GreenDao 添加某个字段,某个表,删除某个表操作
![、首先创建两个表,一个后续将加个字段,一个后续会被删除]!(https://img-blog.csdn.net/20160303165025337)
2、运行程序,创建数据库
现在我们就给user这个表增加一个字段并且保留原有数据,然后删除temp 这个表,然后再增加一个表
然后修改DaoMaster里面的更新操作,自行写更新语句,进行更新
运行后
先做个记录,以备后用
如果对GreenDao 感兴趣的 可以参考:
http://www.open-open.com/lib/view/open1438065400878.html
忘记sql 语法的 可以参考:
http://www.runoob.com/sqlite/sqlite-select.html
Android 使用GreenDao 添加字段,删除表,新增表操作的更多相关文章
- Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)
Asp.Net MVC +EntityFramework主从表新增编辑操作的实现 对于MVC中同时对主从表的表单操作在网上现有的解决很少,而这样的操作在做业务系统中是经常为遇到的.我在网上搜索了很久都 ...
- 使用GreenDao 添加字段,删除表,新增表操作
GreenDao 给我个人感觉 比一般的ORM框架要好很多,虽然说上手和其他的比起来,较复杂,但是如果使用熟练以后,你会爱上这个框架的 用这些ORM 框架给我的感觉都是,当升级时,都需要进行数据库所有 ...
- SQL语句 表字段的操作 添加,删除,修改表的字段
alter table 表名 drop constraint 约束名字 //删除字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for ...
- mysql之字段的修改,添加、删除,多表关系(外键),单表详细操作(增删改)
字段的修改.添加和删除 create table tf1( id int primary key auto_increment, x int, y int ); #修改 alter table tf1 ...
- django orm 改动数据库中已存在的表(添加、删除、修改表字段)
python3 manage.py makemigrations --empty api # 因为我的models.py文件并直接在项目根目录,而是根目录下的api目录中 python3 manage ...
- Android在listview添加checkbox实现单选多选操作问题(转)
转自:http://yangshen998.iteye.com/blog/1310183 在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上 ...
- Android在listview添加checkbox实现单选多选操作问题
android根据View的不同状态更换不同的背景http://www.eoeandroid.com/thread-198029-1-1.html android 模仿朋友网推出的菜单效果[改进版]h ...
- jQuery的节点添加、删除、替换等操作
//几种添加节点的方法 //$("p").append("<b>你好吗?</b>");//向p元素中追加<b> //$(&q ...
- 完美解决Android在listview添加checkbox实现单选多选操作问题
在Android某些开发需求当中,有时候需要在listveiw中加入checkbox实现单选,多选操作.表面上看上去只是改变checkbox那么简单,然而实际开发中,实现起来并不是那么得心应手.尤其当 ...
随机推荐
- Struts2学习第五课 通过和ServletAPI耦合的方式获取WEB资源
与Servlet耦合的访问方式 直接访问Servlet API将使Action与环境Servlet环境耦合在一起,测试时需要有Servlet容器,不便对Action的单元测试. 直接获取HttpSer ...
- 手机连接fiddler后,浏览器无法打开网页或者fiddler抓取不到手机应用相关数据的情况
关于手机如何连接fiddler,网上有很多教程,我暂时就不写了 今天在使用fiddler的过程中,发现fiddler突然无法抓取移动端应用的数据包,再三确认连接无误.因此就开始了解决之旅 起因是安卓手 ...
- 7. IIS短文件/文件夹漏洞(汇总整理)
漏洞的成因与分析: 1)利用“~”字符猜解暴露短文件/文件夹名. 2).Net Framework的拒绝服务攻击. 现在看大部分的分析讨论都是第一个的.第二个比较少.这里简单复述一下其他研究人员的分析 ...
- c#中Marshal.Copy()方法的使用
c#中Marshal.Copy方法的使用 Marshal.copy()方法用来在托管对象(数组)和非托管对象(IntPtr)之间进行内容的复制 函数有很多重载,如下所示: Copy(array< ...
- 机器学习--K折交叉验证和非负矩阵分解
1.交叉验证 交叉验证(Cross validation),交叉验证用于防止模型过于复杂而引起的过拟合.有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法. 于是可以先在一个子集上做 ...
- 缓存处理类(MemoryCache结合文件缓存)
想提升站点的性能,于是增加了缓存,但是站点不会太大,于是不会到分布式memcached的缓存和redis这个nosql库,于是自己封装了.NET内置的缓存组件 原先使用System.Web.Cachi ...
- [开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve)
[开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve) 1.滑动平均概念 滑动平均滤波法(又称递推平均滤波法),时把连续取N个采样值看成一个队列 ,队列的长度固定为N ...
- mysql失效的几种情况
1.如果查询条件中有or,即使查询的条件中带有索引也会失效,如果想使用or,又不想让索引失效,只能将or条件中的所有列都加上索引 2.like 查询一%开头用不上索引, 3.隐式转换会使索引失效 比如 ...
- Glance代码分析
V2版本的glance-api采用Proxy的方式来构建对象(对象套对象),有点类似装饰器模式,包裹的顺序是 Auth(外层) -> Notifier -> Policy -> Qu ...
- Oracle插入中文数据乱码 设置服务器编码和客户端编码一致