package no.java.schedule.provider.dbutil;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import no.java.schedule.provider.SessionsContract;
import no.java.schedule.provider.SessionsProvider;
/**
* Helper to manage upgrading between versions of the database.
*/
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "sessions.db";
private static final int DATABASE_VERSION = 5;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + SessionsProvider.TABLE_TRACKS + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ SessionsContract.TracksColumns.TRACK + " TEXT,"
+ SessionsContract.TracksColumns.COLOR + " INTEGER,"
+ SessionsContract.TracksColumns.VISIBLE + " INTEGER);");
db.execSQL("CREATE TABLE " + SessionsProvider.TABLE_BLOCKS + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ SessionsContract.BlocksColumns.TIME_START + " INTEGER,"
+ SessionsContract.BlocksColumns.TIME_END + " INTEGER);");
db.execSQL("CREATE TABLE " + SessionsProvider.TABLE_SESSIONS + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ SessionsContract.SessionsColumns.TRACK_ID + " INTEGER REFERENCES tracks(_id),"
+ SessionsContract.SessionsColumns.BLOCK_ID + " INTEGER REFERENCES blocks(_id),"
+ SessionsContract.SessionsColumns.TITLE + " TEXT,"
+ SessionsContract.SessionsColumns.SPEAKER_NAMES + " TEXT,"
+ SessionsContract.SessionsColumns.ABSTRACT + " TEXT,"
+ SessionsContract.SessionsColumns.ROOM + " INTEGER,"
+ SessionsContract.SessionsColumns.TYPE + " TEXT,"
+ SessionsContract.SessionsColumns.TAGS + " TEXT,"
+ SessionsContract.SessionsColumns.WEB_LINK + " TEXT,"
+ SessionsContract.SessionsColumns.WEB_LINK_ALT + " TEXT,"
+ SessionsContract.SessionsColumns.STARRED + " INTEGER);");
db.execSQL("CREATE VIRTUAL TABLE " + SessionsProvider.TABLE_SEARCH + " USING FTS1("
+ SessionsContract.SearchColumns.INDEX_TEXT + ");");
db.execSQL("CREATE TABLE " + SessionsProvider.TABLE_SUGGEST + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY,"
+ SessionsContract.SuggestColumns.DISPLAY + " TEXT);");
db.execSQL("CREATE TABLE " + SessionsProvider.TABLE_SPEAKERS + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ SessionsContract.SpeakersColumns.SPEAKERNAME + " TEXT,"
+ SessionsContract.SpeakersColumns.SPEAKERBIO + " TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}