[英]Do I need to increment the Room Database version number if I only changed the DAO's, not the entities?
[英]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.