これは簡単なことだと思いますが、ベストプラクティスが何であるかについて明確な答えは見つかりませんでした。
アプリケーションでは、注文の現在のステータス (オープン、キャンセル、発送済み、クローズなど) を保持します。この変数はコードを変更しないと変更できませんが、アプリケーションは次の基準を満たす必要があります。
- ステータス名は、さまざまな言語で簡単に表示する必要があります。
- アプリケーションは、フリーテキストのステータス名で検索できます (「オープン」のグーグル検索など)。
- status_id は、列挙型を介して開発者が利用できる必要があります
- 新しいステータスを追加する際の頭痛の種なし
これまでにこれに取り組んできた可能な方法は次のとおりです。
- PK(id, language_id) を含む DB テーブルのステータスと、アプリケーションでこのステータスを表す別の列挙型を持つ。 長所: 1.,2.,3. すぐに使える、短所: 4. すべてのクライアント インストールで更新スクリプトを実行する必要がある
- 列挙するだけです: 長所: 3.、4。短所: 1.,2. 完全な悪夢です
- アプリケーションの開始ごとにデータベーステーブルにデータを入力する列挙型を持つ: 長所: 1.、2.、3.、4. 作業短所:アプリケーションの起動時に多少のオーバーヘッドが発生します。多くのコード テーブルを処理する場合、SQL 選択が大きくなり、扱いにくくなる可能性があります。
この問題に取り組む最も一般的な方法は何ですか?