簡體   English   中英

是否需要控制數據庫版本以進行更新?

[英]Do I need to control database version for updates?

我即將發布一個Android應用程序,我有點擔心數據庫版本控制。

問題是,我僅在執行期間使用數據庫,每次啟動應用程序時,我都會刪除所有內容,因為它們不需要持久化。 代碼是這樣的:

public synchronized void createDatabase() {
    if (database == null) {
        database =  this.openOrCreateDatabase(DATABASENAME, MODE_PRIVATE, null);
    }

    database.execSQL("DROP TABLE IF EXISTS " + Xxxxxxxx.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Yyyyyyyy.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Oooooooo.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Ppppppppp.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Mmmmmmmmm.TABLE_NAME);
    database.execSQL("DROP TABLE IF EXISTS " + Aaaaaaaaa.TABLE_NAME);

    database.execSQL(Xxxxxxxx.CREATE_PROVIDERS_TABLE);
    database.execSQL(Yyyyyyyy.CREATE_CONTENTS_TABLE);
    database.execSQL(Oooooooo.CREATE_EVENTS_TABLE);
    database.execSQL(Ppppppppp.CREATE_EVENTS_ANSWERS_TABLE);
    database.execSQL(Mmmmmmmmm.CREATE_CATEGORY_TABLE);
    database.execSQL(Aaaaaaaaa.CREATE_SUBCATEGORY_TABLE);
}

我的問題是,考慮到啟動應用程序時如何刪除所有內容,是否需要控制其他版本? 如果將來我要添加新列怎么辦? 它會正常工作嗎?

提前致謝

我認為您完全不必擔心數據庫版本控制。

如果您實際上在將來的版本中更改數據庫模式,則沒關系,因為所有表將在下次啟動時刪除/重新創建。

考慮到啟動應用程序時如何刪除所有內容,是否需要控制其他版本? 如果將來我要添加新列怎么辦? 它會正常工作嗎?

您將刪除所有表並重新創建它們,因此無需控制數據庫的版本,如果升級現有數據庫並修改表,則必須更改數據庫的版本。 希望這會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM