我想第一次创建一个表(DB version = 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');
答案 0 :(得分:3)
显然,ActiveAndroid认为在应用程序的初始设置中,DB的版本为0。 因此,文件“1.sql”的版本比DB编号更大,它将被跳过!
要使其正常工作,脚本名称应为“0.sql”。
答案 1 :(得分:0)
如果您已使用Configuration(即下面的代码和Android Manifest&#34; AA_DB_VERSION&#34;)初始化了ActiveAndroid。这就是原因。删除Configuration.Builder。如果使用配置进行初始化,则ActiveAndroid无法从AA_DB_VERSION获取版本号。
CoConfiguration.Builder(this).setDatabaseName("XXXX.db").create();