package shts.jp.android.nogifeed.providers;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
class NogiFeedDatabaseHelper extends SQLiteOpenHelper {
//@formatter:off
private static final String CREATE_FAVORITE_TABLE_SQL = "CREATE TABLE "
+ NogiFeedContent.TABLE_FAVORITE + "("
+ NogiFeedContent.Favorite.Key.ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ NogiFeedContent.Favorite.Key.MEMBER_ID + " INTEGER NOT NULL"
+ ")";
//@formatter:on
private static final String DROP_FAVORITE_TABLE_SQL = "DROP TABLE IF EXISTS "
+ NogiFeedContent.TABLE_FAVORITE;
//@formatter:off
private static final String CREATE_PROFILE_WIDGET_TABLE_SQL = "CREATE TABLE "
+ NogiFeedContent.TABLE_PROFILE_WIDGET + "("
+ NogiFeedContent.ProfileWidget.Key.ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ NogiFeedContent.ProfileWidget.Key.WIDGET_ID + " INTEGER"
+ ")";
//@formatter:on
private static final String DROP_PROFILE_WIDGET_TABLE_SQL = "DROP TABLE IF EXISTS "
+ NogiFeedContent.TABLE_PROFILE_WIDGET;
//@formatter:off
private static final String CREATE_UNREAD_TABLE_SQL = "CREATE TABLE "
+ NogiFeedContent.TABLE_UNREAD + "("
+ NogiFeedContent.UnRead.Key.ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ NogiFeedContent.UnRead.Key.ARTICLE_URL + " TEXT NOT NULL,"
+ NogiFeedContent.UnRead.Key.MEMBER_ID + " TEXT NOT NULL"
+ ")";
//@formatter:on
private static final String DROP_UNREAD_TABLE_SQL = "DROP TABLE IF EXISTS "
+ NogiFeedContent.TABLE_UNREAD;
NogiFeedDatabaseHelper(Context context) {
super(context, NogiFeedContent.DATABASE_NAME, null, NogiFeedContent.DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// CREATE_MEMBER_TABLE_SQL
db.execSQL(CREATE_FAVORITE_TABLE_SQL);
db.execSQL(CREATE_PROFILE_WIDGET_TABLE_SQL);
db.execSQL(CREATE_UNREAD_TABLE_SQL);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Create tables again
if (newVersion == 2) {
db.execSQL(CREATE_PROFILE_WIDGET_TABLE_SQL);
db.execSQL(CREATE_UNREAD_TABLE_SQL);
}
/**
* Version 1. add TABLE_FAVORITE
* ------------------------------------------
* Version 2. add TABLE_PROFILE_WIDGET
* add TABLE_UNREAD
* ------------------------------------------
* Version 3. delete all table
* ------------------------------------------
* Version 4. add TABLE_FAVORITE
* add TABLE_PROFILE_WIDGET
* add TABLE_UNREAD
*/
if (newVersion == 4) {
// drop
db.execSQL(DROP_FAVORITE_TABLE_SQL);
db.execSQL(DROP_PROFILE_WIDGET_TABLE_SQL);
db.execSQL(DROP_UNREAD_TABLE_SQL);
// create
db.execSQL(CREATE_FAVORITE_TABLE_SQL);
db.execSQL(CREATE_PROFILE_WIDGET_TABLE_SQL);
db.execSQL(CREATE_UNREAD_TABLE_SQL);
}
}
}