感谢您的阅读和帮助 :)
我正在使用ActiveAndroid 3.0 - Android 2.2 - 在我的应用程序中,我有一个名为"user"的模型。最初,我只创建了(id,name,passcode)列/属性的模型,在模拟器上运行应用程序,并且它可以正常工作。
我也尝试了从模拟器中卸载该应用程序、重启模拟器以及调用ActiveAndroid.cacheClear()。到目前为止,这些都没有起作用。
非常感谢您的帮助。谢谢。
我正在使用ActiveAndroid 3.0 - Android 2.2 - 在我的应用程序中,我有一个名为"user"的模型。最初,我只创建了(id,name,passcode)列/属性的模型,在模拟器上运行应用程序,并且它可以正常工作。
@Table(name = "user")
public class User extends Model {
@Column (name = "name")
public String name;
@Column (name = "pass_code")
public String passCode;
}
然后我添加了一个新的列/属性 - profileImage。我在模拟器上运行应用程序,结果出现了“SQLite列profileImage不存在”的错误。
@Table(name = "user")
public class User extends Model {
@Column (name = "name")
public String name;
@Column (name = "pass_code")
public String passCode;
@Column (name = "profile_image")
public String profileImage;
}
我尝试了更改ActiveAndroid数据库名称并在清单文件中更新数据库版本属性。
<meta-data android:name="AA_DB_NAME" android:value="my_app.db" />
<meta-data android:name="AA_DB_VERSION" android:value="2" />
但是我一直收到“列不存在”的错误。
ERROR AndroidRuntime Caused by: android.database.sqlite.SQLiteException:
no such column: profile_image: , while compiling: SELECT * FROM user WHERE profile_image = ?
我也尝试了从模拟器中卸载该应用程序、重启模拟器以及调用ActiveAndroid.cacheClear()。到目前为止,这些都没有起作用。
非常感谢您的帮助。谢谢。
SQLiteOpenHelper
创建的任何数据库。 - MH.2
,新版本为5
,升级过程将首先执行3.sql
,然后执行4.sql
,最后执行5.sql
。(您可以在ActiveAndroid的#executeMigrations()中轻松看到这一点)换句话说:您不应该将更改从一个升级脚本复制到下一个升级脚本中。 - MH.