iOS SQLite.swift,关于app的升级?

Fat*_*tie 8 sqlite ios sqlite.swift

关于宏伟而神奇的SQLite.swift,我想知道

您在应用商店中有一个应用,v7.有一个升级到v8.用户X使用应用商店将v7升级到v8.

比如在v8中,我们稍微改变了一个sql表,可能是添加一个列或重命名一个列.

在这种情况下,SQLite.swift中是否应该执行任何特殊操作?

什么是SQLite.swift方法来处理它?

(例如,Android 在他们的帮助程序类中有一个方便的onUpgrade概念......它带有它自己的一组复杂问题.)

CL.*_*CL. 7

SQLiteOpenHelper的实现非常简单:

        db = SQLiteDatabase.openDatabase(...);

        onConfigure(db);

        int version = db.getVersion();
        if (version != mNewVersion) {
            db.beginTransaction();
            try {
                if (version == 0) {
                    onCreate(db);
                } else {
                    if (version > mNewVersion) {
                        onDowngrade(db, version, mNewVersion);
                    } else {
                        onUpgrade(db, version, mNewVersion);
                    }
                }
                db.setVersion(mNewVersion);
                db.setTransactionSuccessful();
            } finally {
                db.endTransaction();
            }
        }
Run Code Online (Sandbox Code Playgroud)

在Swift中做同样的事情.

有关如何实现onUpgrade(),请参阅SQLiteOpenHelper onUpgrade()Confusion Android.