inorichi 9 years ago
parent
commit
c830c037f7

+ 7 - 2
app/src/main/java/eu/kanade/mangafeed/data/database/DbOpenHelper.java

@@ -14,7 +14,7 @@ import eu.kanade.mangafeed.data.database.tables.MangaTable;
 public class DbOpenHelper extends SQLiteOpenHelper {
 
     public static final String DATABASE_NAME = "mangafeed.db";
-    public static final int DATABASE_VERSION = 1;
+    public static final int DATABASE_VERSION = 2;
 
     public DbOpenHelper(@NonNull Context context) {
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
@@ -36,7 +36,12 @@ public class DbOpenHelper extends SQLiteOpenHelper {
 
     @Override
     public void onUpgrade(@NonNull SQLiteDatabase db, int oldVersion, int newVersion) {
-
+        if (oldVersion == 1) {
+            db.execSQL("ALTER TABLE manga_sync RENAME TO tmp;");
+            db.execSQL(MangaSyncTable.getCreateTableQuery());
+            db.execSQL("INSERT INTO " + MangaSyncTable.TABLE + " SELECT * FROM tmp;");
+            db.execSQL("DROP TABLE tmp;");
+        }
     }
 
     @Override

+ 1 - 0
app/src/main/java/eu/kanade/mangafeed/data/database/tables/MangaSyncTable.java

@@ -36,6 +36,7 @@ public class MangaSyncTable {
                 + COLUMN_TOTAL_CHAPTERS + " INTEGER NOT NULL, "
                 + COLUMN_STATUS + " INTEGER NOT NULL, "
                 + COLUMN_SCORE + " FLOAT NOT NULL, "
+                + "UNIQUE (" + COLUMN_MANGA_ID + ", " + COLUMN_SYNC_ID + ") ON CONFLICT REPLACE, "
                 + "FOREIGN KEY(" + COLUMN_MANGA_ID + ") REFERENCES " + MangaTable.TABLE + "(" + MangaTable.COLUMN_ID + ") "
                 + "ON DELETE CASCADE"
                 + ");";