2011-01-20 60 views
0

我試圖將數據庫推送到模擬器。我創建了我的桌面計算機上的腳本的數據庫,它看起來相同。通過我的SQLiteOpenHelper的子類中創建的數據庫:爲什麼SQLiteOpenHelper重新創建我現有的數據庫?

CREATE TABLE android_metadata (locale TEXT); 
insert into android_metadata values('en_US'); 

CREATE TABLE notes (_id integer primary key autoincrement, 
        key text, 
        content text not null, 
        modifydate text, 
        createdate text, 
        syncnum integer, 
        version integer, 
        minversion integer, 
        sharekey text, 
        publishkey text, 
        deleted integer not null default 0, 
        pinned integer not null default 0, 
        unread integer not null default 0); 
CREATE TABLE tags (_id integer primary key autoincrement, 
        name text not null, 
        pos integer not null, 
        noteid integer not null, 
        foreign key(noteid) references notes (_id)); 

但由於某些原因,應用程序試圖重新即使它已經存在的數據庫。它嘗試創建數據庫中已存在的表時失敗。也許這裏有人知道爲什麼?

+0

擺脫`android_metadata`線,看看有沒有什麼幫助。那不是你的桌子,所以你應該放棄它。 – CommonsWare 2011-01-20 13:43:07

回答

0

好的。事實證明,我需要將數據庫上的版本設置爲與我的代碼期望的版本相同。這是我的SQLite腳本來完成,像這樣:

PRAGMA user_version = 1; 
相關問題