ActiveAndroid 新增字段的数据库升级

以下为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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值