Simple as possible where view have all config, just generate view and column and you DONE, no other table/config etc.. KISS (KEEP IT SIMPLE STUPID )
Columns types:
W_*= writable columns,W_will not be shown in GUI/GRIDR_*= readonly columns,R_will not be shown in GUI/GRID , but stop user for editing columnRG_= writable in api, but only read in gridWO_*,RO_*,RGO_, same as first part, only not displayed by default (need to use column chooser to find)WH_*,RH_*, But hidden, maybe column you dont want user to see, but you need it due to realational dataM_*= meta column, not for data, but config, this is read before call to database is done, so user cant modify it to inject, not show in GUI/GRID, only fetch once per update/select- Other : columns without W_, R_, M_ we be automatically writable (including hidden/optional)
M_columns:
M_PK_COLUMN_NAME= Everything afterM_PK_is column name of primary key column, every view need to include this to allow Create/Update/Delete operations- foreign key, needed to split up to keep well inside 128byte column size
M_FKC_COLUMN_NAME__FROM_COLUMN__TO_COLUMN....from/to...from/to, foreign keys,M_FKT_COLUMN_NAME__TITLE_YOU_WANTtitle for foreign keysM_FKV_COLUMN_NAME__VIEW_TO_USEview to use
M_MOD_COLUMN_NAMEcolumn is modified column, use for smarter update after save, query whats changed since last fetchM_BOOL_COLUMN_NAME__TRUE__FALSEboolean column, first is column name, next is true value, and false valueM_ALLOW_DELETEneed to be added to allow delete in backend and frontend - not sure yet about this..M_ALLOW_INSERTneed to be added to allow insert in backend and frontend - not sure yet about this..M_COPY_COLUMN_NAME__OTHER_COLUMN__OTHER_COLUMNforce grid to copy also other columns