AndroidのOrmLiteには小さな問題があります。Android&OrmLite:OnUpgradeが失敗します
データベースのバージョンを増やすと、onUpgrade
メソッドがOrmLiteヘルパーで期待通りに呼び出されます。アップグレード後、onCreate
メソッドが呼び出されると、私はこの例外を取得:
11-24 10:09:45.720: ERROR/AndroidConnectionSource(390): connection saved
[email protected] is not the one
being cleared [email protected]
私はクリア接続が保存されたものと同じではありませんなぜか見当もつかない。
私のデータベース機能(挿入...)もOrmLiteヘルパークラスに入れました。多分これは問題になるかもしれませんか?
私のヘルパークラスからの抜粋:
public class OrmLiteDBProvider extends OrmLiteSqliteOpenHelper
implements IEntityProvider, IDBProvider {
//snip
@Override
public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
try {
Log.i(OrmLiteDBProvider.class.getName(), "Creating database and tables");
TableUtils.createTable(connectionSource, OrgManaged.class);
} catch (SQLException e) {
Log.e(OrmLiteDBProvider.class.getName(),
"Can't create database and tables", e);
throw new RuntimeException(e);
}
}
@Override
public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource,
int oldVersion, int newVersion) {
try {
Log.i(OrmLiteDBProvider.class.getName(),
"Database version changed. Dropping database.");
TableUtils.dropTable(connectionSource, OrgManaged.class, true);
// after we drop the old databases, we create the new ones
onCreate(db);
} catch (SQLException e) {
Log.e(OrmLiteDBProvider.class.getName(), "Can't drop databases", e);
throw new RuntimeException(e);
}
}
私はそれが私が欠けている単純なものだと思います。
ご協力いただきありがとうございます。
私は言いませんでした:OrmLiteのバージョン4.5 – saxos
全体の例外スタックsaxosを投稿できますか?ありがとう。 – Gray