データベースを初期化してテーブルなどを作成する関数があります。
アプリケーションのバージョン 2 を準備し、最後にこの関数に列の存在チェックを追加し、存在しない場合はテーブルを変更します。
私の質問は次のとおりです。
これを常にチェックしないようにするにUserDefaults
は、現在のアプリがバージョン 2 であることを示すフラグを入れて、このコードを回避する必要があるかどうかを確認します。
これは私にとって論理的な継ぎ目ですが、他の意見はいつでも歓迎されます;)
データベースを初期化してテーブルなどを作成する関数があります。
アプリケーションのバージョン 2 を準備し、最後にこの関数に列の存在チェックを追加し、存在しない場合はテーブルを変更します。
私の質問は次のとおりです。
これを常にチェックしないようにするにUserDefaults
は、現在のアプリがバージョン 2 であることを示すフラグを入れて、このコードを回避する必要があるかどうかを確認します。
これは私にとって論理的な継ぎ目ですが、他の意見はいつでも歓迎されます;)
スキーマのバージョン番号を格納するデータベースに、バージョン番号のテーブル/列を作成できます。スキーマを変更するたびに、アプリケーション ファイル内の番号を増やしてから、関連する移行コードを実行して、データベース内のスキーマ バージョンを更新しながら、あるスキーマ バージョンから別のスキーマ バージョンに移行します。
この回答には、SQLite で別のテーブルを作成せずに db スキーマのバージョン番号を追跡する便利な方法があります。
はい、これを確認することができますNSUSER Default
。私はこれに何も問題はないと思います。