1

DBAccess のドキュメントを読んで、自分のニーズに合うかどうかを理解しています。

私の質問は、移行についてです。

例: DBAccess で実装された既存のアプリがあり、次のフィールドを持つテーブル "Person" を使用しています:
- id
- 名前
- 姓
- 住所

Person クラスに他の 2 つのフィールドを追加すると、データベースはどうなりますか?
- email
- phone_number
?
DBAccess は新しいフィールドをデータベース テーブルに自動的に追加しますか?
新しく追加されたフィールドのデフォルト値を指定する方法はありますか?

4

1 に答える 1

1

はい、これら 2 つのプロパティを追加すると、DBAccess は自動的に追加の列を追加します。

現時点では、新しい列のデフォルト値を指定する機能はありません。予想どおり、それらはすべて NULL で初期化されます。

デフォルト値に関するあなたの提案は興味深いものです。これまで出てこなかったことに驚いています。実装が簡単で、非常に論理的な機能のようです。唯一の小さな奇妙なことは、メソッドを追加する場合

+ (id)defaultValueForProperty:(NSString*)propertyName;

フレームワークに追加し、新しい列を作成するときにそれを呼び出すと、列を作成するときに一度ではなく行ごとにこれが発生することをユーザーは期待するので、その値をカスタマイズしたり、他の場所のコンテンツから計算したりできます。

適切な解決策と思われるものについて、フィードバックをいただければ幸いです。

私は個人的にクラスとインスタンス メソッドの両方に傾倒しています。開発者がインスタンス メソッドを実装すると、すべての個々の行が解析されて再書き込みされるため、遅くなる可能性がありますが、非常に便利な機能でもあります。

いずれにしても、このような単純な機能を追加するのに 1 時間以上かかることはありません。落とし穴が見られるかどうかを確認するだけです。

ありがとう

于 2015-04-14T14:44:31.217 に答える