ActiveAndroid预填充表使用模式迁移(ActiveAndroid Pre populate

2019-10-21 08:23发布

我想创建一个表,第一次(DB版本= 1),默认情况下插入它2行。 该表需要由ActiveAndroid自动创建和记录应该由我1.SQL文件写的SQL插入。

该表看起来不错,但行根本插(抛没有错误)。

该模型是这样的:

@Table(name = "leagues")
public class League extends Model implements Serializable{

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

    public static List<League> getAll() {
        return new Select()
                .from(League.class)
                .orderBy("name ASC")
                .execute();
    }
}

和1.SQL:

INSERT INTO leagues (Id, name) VALUES (1, 'Premier league');

Answer 1:

显然,这ActiveAndroid认为DB的版本是在应用程序的初始设置0。 因此,文件“1.SQL”具有比DB号一个更大的版本,它会被跳过!

为了使它工作,脚本的名称应该是“0.sql”。



Answer 2:

如果你已经初始化与配置下即代码和Android清单“AA_DB_VERSION” ActiveAndroid两者; 这是什么原因。 删除Configuration.Builder。 如果您使用配置初始化,ActiveAndroid不会AA_DB_VERSION获得版本号。

CoConfiguration.Builder(this).setDatabaseName("XXXX.db").create();


文章来源: ActiveAndroid Pre populate table using schema migration