package org.dodgybits.shuffle.android.persistence.migrations;
import org.dodgybits.shuffle.android.persistence.provider.AbstractCollectionProvider;
import org.dodgybits.shuffle.android.persistence.provider.ProjectProvider;
import org.dodgybits.shuffle.android.persistence.provider.TaskProvider;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class V1Migration extends AbstractMigration {
@Override
public void migrate(SQLiteDatabase db) {
createProjectTable(db);
createTaskTable(db);
}
private void createProjectTable(SQLiteDatabase db) {
Log.w(AbstractCollectionProvider.cTag, "Destroying all old data");
db.execSQL("DROP TABLE IF EXISTS " + ProjectProvider.PROJECT_TABLE_NAME);
db.execSQL("CREATE TABLE "
+ ProjectProvider.PROJECT_TABLE_NAME
+ " ("
+ "_id INTEGER PRIMARY KEY,"
+ "name TEXT,"
+ "archived INTEGER,"
+ "defaultContextId INTEGER,"
+ "tracks_id INTEGER,"
+ "modified INTEGER,"
+ "parallel INTEGER NOT NULL DEFAULT 0"
+ ");");
}
private void createTaskTable(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS " + TaskProvider.cTaskTableName);
db.execSQL("CREATE TABLE "
+ TaskProvider.cTaskTableName
+ " ("
+ "_id INTEGER PRIMARY KEY,"
+ "description TEXT,"
+ "details TEXT,"
+ "contextId INTEGER,"
+ "projectId INTEGER,"
+ "created INTEGER,"
+ "modified INTEGER,"
+ "due INTEGER,"
+ "start INTEGER," // created, modified, due, start in millis since epoch
+ "timezone TEXT," // timezone for task
+ "allDay INTEGER NOT NULL DEFAULT 0,"
+ "hasAlarm INTEGER NOT NULL DEFAULT 0,"
+ "calEventId INTEGER,"
+ "displayOrder INTEGER,"
+ "complete INTEGER,"
+ "tracks_id INTEGER"
+ ");");
}
}