ActiveAndroid 新增字段的数据库升级

翻译 2015年11月17日 18:28:00

以下为github上的介绍(翻译)

如果你想要给已经存在的model添加一条新的数据库字段,你需要给你的model对应的数据库表写一个迁移脚本,下面是操作方法:

在model中添加一个字段(priority是新添加的):

    import com.activeandroid.Model;
    import com.activeandroid.annotation.Column;
    import com.activeandroid.annotation.Table;

    @Table(name = "Items")
    public class Item extends Model {
        @Column(name = "remote_id", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
        public long remoteId;

        @Column(name = "Name")
        public String name;

        @Column(name = "Priority") //new column
        public String priority;

        public Item(){
           super();
        }

        public Item(int remoteId, String name, String priority){
            super();
            this.remoteId = remoteId;
            this.name = name;
            this.priority = priority;
        }
    }

修改AndroidManifest.xml文件中的数据库版本号,新的版本号等于旧的版本号加一。

    <meta-data
        android:name="AA_DB_NAME"
        android:value="Application.db" />
    <meta-data
        android:name="AA_DB_VERSION"
        android:value="2" />

编写脚本。新建一个文件,命名为[newDatabaseVersion].sql,如2.sql,3.sql。将这个文件放到[你的应用]/app/src/main/assets/migrations目录下,如果migrations不存在则需要手动创建。在上面的例子中,我会新建一个2.sql文件:[MyAppName]/app/src/main/assets/migrations/2.sql。在2.sql文件中需要添加如下数据库脚本来添加列:

    ALTER TABLE Items ADD COLUMN Priority TEXT;

记住,为了触发这个脚本,你需要在代码的某一个地方保存一次你的Model的实例。

翻译自https://github.com/codepath/android_guides/wiki/ActiveAndroid-Guide

玩转Android之数据库框架ActiveAndroid的使用

ActiveAndroid是一个开源的数据库框架,使我们在Android中使用数据库变得更为简单,今天我们就来看看这个数据库框架的使用。1.引入ActiveAndroid首先创建我们自己的项目,在我们...

Android--数据库升级,插入新字段

插入新字段sql语句:ALTER TABLE  表名   "ADD"  字段名  类型   default '默认值' + SqlCommandHelper.SPACE + userAction + ...
  • zlQQhs
  • zlQQhs
  • 2013年11月23日 11:56
  • 9673

ActiveAndroid数据库table的基本数据库操作

ActiveAndroid的配置与基本使用 表增删字段、添加删除表、外键

Android 使用ActiveAndroid 管理数据库

先看看效果: ActiveAndroid简单介绍: ActiveAndroid是采用活动记录(Active Record)架构模式设计的适用于Android平台的轻量级ORM架...

Android 数据库升级解决方案

请考虑如下情况: 在数据库升级时,不同版本的数据库,他们定义的表结构完全可能是不一样的,比如V1.0的表A有10个column,而在V1.1的表A有12个colum,在升级时,表A增加了两列,此时我...

Android之数据库框架ActiveAndroid的使用

转自 http://blog.csdn.net/u012702547/article/details/51355355 ActiveAndroid是一个开源的数据库框架,使我们在An...

安卓数据库:no such column-定位SQLite数据库位置-查看SQLite

胡世洋 1.          遇到的问题: 日志错误(1) no such column: d_id(没有i_id这一列) 然后我去查看MyOpenHelper文件,这一列明明在那儿呢,怎么会...

【安卓】数据库基于脚本的"增量更新",每次更新时不需修改java代码、!

思路: 1.当然是基于SQLiteOpenHelper.onCreate(第一次安装程序时调用)、onUpdate(升级程序时调用) 2.用"脚本"(脚本制作具体方法问度娘)做数据库升级,文件名标...

安卓ORM框架之activeandroid

安卓ORM框架之activeandroid 最近由于项目需要,需要用到手机本地数据库,本来打算自己实现SQLiteOpenHelper来自己写,但后来被sql语句打败。我就搜索了下关于数据库框架,...

android数据库版本更新的实现

概述当app升级时,不可避免的数据库可能会有所改变。比如新增一张表、改变某张表中的字段名、添加一个新的字段等一系列表结构的改变。按照现在来说,解决的方法只有两个: 1. 卸载当前版本,安装最新版的;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ActiveAndroid 新增字段的数据库升级
举报原因:
原因补充:

(最多只允许输入30个字)