アプリケーションのカスタムフィールド機能を構築しています。これにより、管理者は、サイトのニーズに応じてユーザーが入力できるカスタムプロファイルフィールドを追加できます。
スキーマは単純です
field_meta (store some metadata about the field)
================================================
id
type //type of field
field_name //name of the field in the fields table
render_data //Some data to use when rendering the form field
field
===================
id
name //Default field that can't be deleted
address //Default field that can't be deleted
customfield_1
customfield_2
このfield_meta
テーブルは、フォームフィールドをレンダリングできるように、フィールドのメタデータを格納するために使用されます。
各フィールドは、field
テーブルの新しい列に格納されます。
問題:使いやすさのために、また列名に予約語を選択したり、英語以外の単語を使用したりする必要がないように、列名に名前を選択するようにユーザーに依頼することはありません。
私は現在、フィールドタイプ(アプリケーションにはかなりの数のタイプ(電子メール、Webサイト、テキスト、段落テキストなど)があります)で列名を呼び出し、番号を追加することを検討しています。いくつかの例:
- Email_1
- 文1
- Text_2
- Text_3
- Email_2
- 等
ただし、このアプローチの問題は、列名を思い付くのにかなりの作業が必要になることです。すべての列を取得し、作成しているのと同じ列タイプの列を選択し、最大数を解析してから、列を作成する必要があります。
これを行うためのより良い戦略はありますか?それとも、これらの問題を排除する列に名前を付けるまったく異なる方法ですか?