package org.sugr.gearshift.datasource;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import org.sugr.gearshift.G;
public class SQLiteHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 5;
private static final String DATABASE_NAME = "gearshift.db";
public SQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(Constants.T_SESSION_CREATE);
db.execSQL(Constants.T_TORRENT_CREATE);
db.execSQL(Constants.T_TORRENT_PROFILE_CREATE);
db.execSQL(Constants.T_TRACKER_CREATE);
db.execSQL(Constants.T_FILE_CREATE);
db.execSQL(Constants.T_PEER_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
G.logD("Upgrading data source from version " + oldVersion + " to " + newVersion);
db.execSQL("DROP TABLE IF EXISTS " + Constants.T_SESSION);
db.execSQL("DROP TABLE IF EXISTS " + Constants.T_TORRENT);
db.execSQL("DROP TABLE IF EXISTS " + Constants.T_TORRENT_PROFILE);
db.execSQL("DROP TABLE IF EXISTS " + Constants.T_TRACKER);
db.execSQL("DROP TABLE IF EXISTS " + Constants.T_FILE);
db.execSQL("DROP TABLE IF EXISTS " + Constants.T_PEER);
db.execSQL("DROP TABLE IF EXISTS torrent_tracker");
onCreate(db);
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
if (!db.isReadOnly()) {
// Enable foreign key constraints
db.execSQL("PRAGMA foreign_keys=ON;");
}
}
}