Delete local storage cloud and set its vault connection to null (#251)
This commit is contained in:
parent
91d1a65ba7
commit
7add3e5bed
@ -82,7 +82,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
greendao {
|
greendao {
|
||||||
schemaVersion 9
|
schemaVersion 10
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations.all {
|
configurations.all {
|
||||||
|
@ -50,6 +50,7 @@ class UpgradeDatabaseTest {
|
|||||||
Upgrade6To7().applyTo(db, 6)
|
Upgrade6To7().applyTo(db, 6)
|
||||||
Upgrade7To8().applyTo(db, 7)
|
Upgrade7To8().applyTo(db, 7)
|
||||||
Upgrade8To9(sharedPreferencesHandler).applyTo(db, 8)
|
Upgrade8To9(sharedPreferencesHandler).applyTo(db, 8)
|
||||||
|
Upgrade9To10().applyTo(db, 9)
|
||||||
|
|
||||||
CloudEntityDao(DaoConfig(db, CloudEntityDao::class.java)).loadAll()
|
CloudEntityDao(DaoConfig(db, CloudEntityDao::class.java)).loadAll()
|
||||||
VaultEntityDao(DaoConfig(db, VaultEntityDao::class.java)).loadAll()
|
VaultEntityDao(DaoConfig(db, VaultEntityDao::class.java)).loadAll()
|
||||||
@ -407,4 +408,60 @@ class UpgradeDatabaseTest {
|
|||||||
|
|
||||||
Assert.assertThat(sharedPreferencesHandler.isBetaModeAlreadyShown(), CoreMatchers.`is`(false))
|
Assert.assertThat(sharedPreferencesHandler.isBetaModeAlreadyShown(), CoreMatchers.`is`(false))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun upgrade9To10() {
|
||||||
|
Upgrade0To1().applyTo(db, 0)
|
||||||
|
Upgrade1To2().applyTo(db, 1)
|
||||||
|
Upgrade2To3(context).applyTo(db, 2)
|
||||||
|
Upgrade3To4().applyTo(db, 3)
|
||||||
|
Upgrade4To5().applyTo(db, 4)
|
||||||
|
Upgrade5To6().applyTo(db, 5)
|
||||||
|
Upgrade6To7().applyTo(db, 6)
|
||||||
|
Upgrade7To8().applyTo(db, 7)
|
||||||
|
Upgrade8To9(sharedPreferencesHandler).applyTo(db, 8)
|
||||||
|
|
||||||
|
Sql.insertInto("CLOUD_ENTITY") //
|
||||||
|
.integer("_id", 15) //
|
||||||
|
.text("TYPE", CloudType.LOCAL.name) //
|
||||||
|
.text("URL", "url") //
|
||||||
|
.text("USERNAME", "username") //
|
||||||
|
.text("WEBDAV_CERTIFICATE", "certificate") //
|
||||||
|
.text("ACCESS_TOKEN", "accessToken")
|
||||||
|
.text("S3_BUCKET", "s3Bucket") //
|
||||||
|
.text("S3_REGION", "s3Region") //
|
||||||
|
.text("S3_SECRET_KEY", "s3SecretKey") //
|
||||||
|
.executeOn(db)
|
||||||
|
|
||||||
|
Sql.insertInto("VAULT_ENTITY") //
|
||||||
|
.integer("_id", 25) //
|
||||||
|
.integer("FOLDER_CLOUD_ID", 15) //
|
||||||
|
.text("FOLDER_PATH", "path") //
|
||||||
|
.text("FOLDER_NAME", "name") //
|
||||||
|
.text("CLOUD_TYPE", CloudType.LOCAL.name) //
|
||||||
|
.text("PASSWORD", "password") //
|
||||||
|
.integer("POSITION", 10) //
|
||||||
|
.executeOn(db)
|
||||||
|
|
||||||
|
Sql.insertInto("VAULT_ENTITY") //
|
||||||
|
.integer("_id", 26) //
|
||||||
|
.integer("FOLDER_CLOUD_ID", 4) //
|
||||||
|
.text("FOLDER_PATH", "path") //
|
||||||
|
.text("FOLDER_NAME", "name") //
|
||||||
|
.text("CLOUD_TYPE", CloudType.LOCAL.name) //
|
||||||
|
.text("PASSWORD", "password") //
|
||||||
|
.integer("POSITION", 11) //
|
||||||
|
.executeOn(db)
|
||||||
|
|
||||||
|
Upgrade9To10().applyTo(db, 9)
|
||||||
|
|
||||||
|
Sql.query("VAULT_ENTITY").executeOn(db).use {
|
||||||
|
it.moveToFirst()
|
||||||
|
Assert.assertThat(it.getString(it.getColumnIndex("FOLDER_CLOUD_ID")), CoreMatchers.`is`("15"))
|
||||||
|
it.moveToNext()
|
||||||
|
Assert.assertThat(it.getString(it.getColumnIndex("FOLDER_CLOUD_ID")), CoreMatchers.nullValue())
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,8 @@ class DatabaseUpgrades {
|
|||||||
Upgrade5To6 upgrade5To6, //
|
Upgrade5To6 upgrade5To6, //
|
||||||
Upgrade6To7 upgrade6To7, //
|
Upgrade6To7 upgrade6To7, //
|
||||||
Upgrade7To8 upgrade7To8, //
|
Upgrade7To8 upgrade7To8, //
|
||||||
Upgrade8To9 upgrade8To9) {
|
Upgrade8To9 upgrade8To9, //
|
||||||
|
Upgrade9To10 upgrade9To10) {
|
||||||
|
|
||||||
availableUpgrades = defineUpgrades( //
|
availableUpgrades = defineUpgrades( //
|
||||||
upgrade0To1, //
|
upgrade0To1, //
|
||||||
@ -38,7 +39,8 @@ class DatabaseUpgrades {
|
|||||||
upgrade5To6, //
|
upgrade5To6, //
|
||||||
upgrade6To7, //
|
upgrade6To7, //
|
||||||
upgrade7To8, //
|
upgrade7To8, //
|
||||||
upgrade8To9);
|
upgrade8To9, //
|
||||||
|
upgrade9To10);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Comparator<DatabaseUpgrade> reverseOrder() {
|
private static Comparator<DatabaseUpgrade> reverseOrder() {
|
||||||
|
30
data/src/main/java/org/cryptomator/data/db/Upgrade9To10.kt
Normal file
30
data/src/main/java/org/cryptomator/data/db/Upgrade9To10.kt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
package org.cryptomator.data.db
|
||||||
|
|
||||||
|
import org.cryptomator.domain.CloudType
|
||||||
|
import org.greenrobot.greendao.database.Database
|
||||||
|
import javax.inject.Inject
|
||||||
|
import javax.inject.Singleton
|
||||||
|
|
||||||
|
@Singleton
|
||||||
|
internal class Upgrade9To10 @Inject constructor() : DatabaseUpgrade(9, 10) {
|
||||||
|
|
||||||
|
override fun internalApplyTo(db: Database, origin: Int) {
|
||||||
|
db.beginTransaction()
|
||||||
|
|
||||||
|
try {
|
||||||
|
Sql.update("VAULT_ENTITY")
|
||||||
|
.set("FOLDER_CLOUD_ID", Sql.toString(null))
|
||||||
|
.where("FOLDER_CLOUD_ID", Sql.eq(4))
|
||||||
|
.executeOn(db)
|
||||||
|
|
||||||
|
Sql.deleteFrom("CLOUD_ENTITY")
|
||||||
|
.where("FOLDER_CLOUD_ID", Sql.eq(4))
|
||||||
|
.where("TYPE", Sql.eq(CloudType.LOCAL.name))
|
||||||
|
.executeOn(db)
|
||||||
|
|
||||||
|
db.setTransactionSuccessful()
|
||||||
|
} finally {
|
||||||
|
db.endTransaction()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user