/* * Copyright (c) 2015 PocketHub * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.github.pockethub.android.persistence; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import com.google.inject.Inject; /** * Helper class to create & upgrade database cache tables */ public class CacheHelper extends SQLiteOpenHelper { /** * Version constant to increment when the database should be rebuilt */ private static final int VERSION = 9; /** * Name of database file */ private static final String NAME = "cache.db"; /** * @param context */ @Inject public CacheHelper(final Context context) { super(context, NAME, null, VERSION); } @Override public void onCreate(final SQLiteDatabase db) { db.execSQL("CREATE TABLE orgs (id INTEGER PRIMARY KEY);"); db.execSQL("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, avatarurl TEXT);"); db.execSQL("CREATE TABLE repos (id INTEGER PRIMARY KEY, repoId INTEGER, orgId INTEGER, " + "name TEXT, ownerId INTEGER, private INTEGER, fork INTEGER, description TEXT, " + "forks INTEGER, watchers INTEGER, language TEXT, hasIssues INTEGER, " + "mirrorUrl TEXT, permissions_admin INTEGER, permissions_pull INTEGER, " + "permissions_push INTEGER);"); } @Override public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) { db.execSQL("DROP TABLE IF EXISTS orgs"); db.execSQL("DROP TABLE IF EXISTS users"); db.execSQL("DROP TABLE IF EXISTS repos"); onCreate(db); } }