package com.lemonhc.mplus.model

import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper

class PhotoHelper(private val context: Context, name: String, factory: SQLiteDatabase.CursorFactory?, version: Int) : SQLiteOpenHelper(context, name, factory, version) {
    /**
     * Database가 존재하지 않을 때, 딱 한번 실행된다.
     * DB를 만드는 역할을 한다.
     * @param db
     */
    override fun onCreate(db: SQLiteDatabase) {
        // String 보다 StringBuffer가 Query 만들기 편하다.
        val sb = StringBuffer()
        sb.append(" CREATE TABLE PHOTO ( ")
        sb.append(" ID INTEGER PRIMARY KEY AUTOINCREMENT, ")
        sb.append(" userId TEXT, ")
        sb.append(" userName TEXT, ")
        sb.append(" userAge TEXT, ")
        sb.append(" userGender TEXT, ")
        sb.append(" fileName TEXT, ")
        sb.append(" fileDate TEXT, ")
        sb.append(" fileKey TEXT, ")
        sb.append(" user TEXT, ")
        sb.append(" fileSend INTEGER NOT NULL DEFAULT 0) ")
        // SQLite Database로 쿼리 실행
        db.execSQL(sb.toString())
    }

    /**
     * Application의 버전이 올라가서
     * Table 구조가 변경되었을 때 실행된다.
     * @param db * @param oldVersion
     * @param newVersion
     */
    override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
    }

    fun deleteTable(db: SQLiteDatabase){
        db.execSQL("delete from Photo")
    }

}
