| 14 | | |
| 15 | | == !Key/Value Tables == |
| 16 | | This is a fairly common pattern for storing flexible data models. |
| 17 | | |
| 18 | | If you need massive scale then using a dedicated NoSQL database for this does have it's advantages, however it is rarely useful for normal Eden tables due to performance limitations & the inability to use database constraints here (like Foreign Keys). Another disadvantage is that it is [http://howfuckedismydatabase.com/nosql/ unable to be queried easily]. |
| 19 | | |
| 20 | | For these reasons there is currently no support for this model in CRUD, although it would be easy to add if-required. |
| 21 | | |
| 22 | | If there is a strong need for this pattern for the non-foreign keys, then it is best to encode all the key/value pairs into a single text field, e.g. in JSON (like deleted_fk). Then need to add widget to handle the user presentation, validation & encoding/decoding. A Metavalidator could be used for server-side validation, if required. |
| 23 | | |