@dboio/cli 0.11.4 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +126 -3
  2. package/bin/dbo.js +4 -0
  3. package/package.json +1 -1
  4. package/plugins/claude/dbo/.claude-plugin/plugin.json +1 -1
  5. package/plugins/claude/dbo/commands/dbo.md +65 -244
  6. package/plugins/claude/dbo/docs/_audit_required/API/all.md +40 -0
  7. package/plugins/claude/dbo/docs/_audit_required/API/app.md +38 -0
  8. package/plugins/claude/dbo/docs/_audit_required/API/athenticate.md +26 -0
  9. package/plugins/claude/dbo/docs/_audit_required/API/cache.md +29 -0
  10. package/plugins/claude/dbo/docs/_audit_required/API/content.md +14 -0
  11. package/plugins/claude/dbo/docs/_audit_required/API/data_source.md +28 -0
  12. package/plugins/claude/dbo/docs/_audit_required/API/email.md +18 -0
  13. package/plugins/claude/dbo/docs/_audit_required/API/input.md +25 -0
  14. package/plugins/claude/dbo/docs/_audit_required/API/instance.md +28 -0
  15. package/plugins/claude/dbo/docs/_audit_required/API/log.md +8 -0
  16. package/plugins/claude/dbo/docs/_audit_required/API/media.md +12 -0
  17. package/plugins/claude/dbo/docs/_audit_required/API/output_by_entity.md +12 -0
  18. package/plugins/claude/dbo/docs/_audit_required/API/upload.md +7 -0
  19. package/plugins/claude/dbo/docs/_audit_required/dbo-api-syntax.md +1487 -0
  20. package/plugins/claude/dbo/docs/_audit_required/dbo-problems-code.md +111 -0
  21. package/plugins/claude/dbo/docs/_audit_required/dbo-problems-performance.md +109 -0
  22. package/plugins/claude/dbo/docs/_audit_required/dbo-problems-syntax.md +97 -0
  23. package/plugins/claude/dbo/docs/_audit_required/dbo-product-market.md +119 -0
  24. package/plugins/claude/dbo/docs/_audit_required/dbo-white-paper.md +125 -0
  25. package/plugins/claude/dbo/docs/dbo-cheat-sheet.md +323 -0
  26. package/plugins/claude/dbo/docs/dbo-cli-readme.md +2222 -0
  27. package/plugins/claude/dbo/docs/dbo-core-entities.md +878 -0
  28. package/plugins/claude/dbo/docs/dbo-output-customsql.md +677 -0
  29. package/plugins/claude/dbo/docs/dbo-output-query.md +967 -0
  30. package/plugins/claude/dbo/skills/cli/SKILL.md +62 -246
  31. package/src/commands/add.js +366 -62
  32. package/src/commands/build.js +102 -0
  33. package/src/commands/clone.js +602 -139
  34. package/src/commands/diff.js +4 -0
  35. package/src/commands/init.js +16 -2
  36. package/src/commands/input.js +3 -1
  37. package/src/commands/mv.js +12 -4
  38. package/src/commands/push.js +265 -70
  39. package/src/commands/rm.js +16 -3
  40. package/src/commands/run.js +81 -0
  41. package/src/lib/config.js +39 -0
  42. package/src/lib/delta.js +7 -1
  43. package/src/lib/diff.js +24 -2
  44. package/src/lib/filenames.js +120 -41
  45. package/src/lib/ignore.js +6 -0
  46. package/src/lib/input-parser.js +13 -4
  47. package/src/lib/scripts.js +232 -0
  48. package/src/migrations/006-remove-uid-companion-filenames.js +181 -0
@@ -0,0 +1,878 @@
1
+ # DBO Core Entities — Schema Reference
2
+
3
+ Source: `app_json/app__system.dboio.json`
4
+ Flags: PK=primary key, AI=auto-increment, NN=not null, RO=read-only, ENC=encrypted
5
+
6
+ The **EntityUID** shown in each section header is what you pass to `/api/output/entity/{entityUid}` to query that entity directly. For system entities, the UID is the physical table name.
7
+
8
+ ```
9
+ GET /api/output/entity/content?_template=json_indented&_limit=10
10
+ GET /api/output/entity/content?_filter@Active=1&_limit=25
11
+ GET /api/output/entity/content/{rowId}
12
+ ```
13
+
14
+ ---
15
+
16
+ ## EXPORTABLE ENTITIES
17
+
18
+ ---
19
+
20
+ ## app
21
+ **Category**: Exportable | **EntityUID**: app
22
+
23
+ | Column | UID | Type | Flags | Enum / Notes |
24
+ |--------|-----|------|-------|--------------|
25
+ | AppID | app.AppID | number(5) | PK, AI, NN | |
26
+ | UID | app.UID | text(50) | NN | |
27
+ | Name | app.Name | text(100) | NN | |
28
+ | ShortName | app.ShortName | text(15) | NN | |
29
+ | Description | app.Description | textarea | | |
30
+ | Status | app.Status | select(9) | NN | Active, Importing, Exporting, Deleting, Error, Populating |
31
+ | AppVersionID | app.AppVersionID | number(19) | | FK → app_version |
32
+ | DefaultMediaID | app.DefaultMediaID | number(19) | | FK → media |
33
+ | ModifyKey | app.ModifyKey | text(100) | | |
34
+ | RepositoryIntegrationID | app.RepositoryIntegrationID | number(19) | | FK → integration |
35
+ | _CreatedOn | app._CreatedOn | datetime-local | NN | |
36
+ | _LastUpdated | app._LastUpdated | datetime-local | NN | |
37
+ | _LastUpdatedUserID | app._LastUpdatedUserID | number(19) | | |
38
+
39
+ ---
40
+
41
+ ## bin
42
+ **Category**: Exportable | **EntityUID**: bin
43
+
44
+ | Column | UID | Type | Flags | Enum / Notes |
45
+ |--------|-----|------|-------|--------------|
46
+ | BinID | bin.BinID | number(19) | PK, AI, NN | |
47
+ | UID | bin.UID | text(50) | NN | |
48
+ | AppID | bin.AppID | number(5) | NN | FK → app |
49
+ | ParentBinID | bin.ParentBinID | number(19) | | FK → bin (self) |
50
+ | Path | bin.Path | text(150) | NN | |
51
+ | Name | bin.Name | text(50) | | |
52
+ | _CreatedOn | bin._CreatedOn | datetime-local | NN | |
53
+ | _LastUpdated | bin._LastUpdated | datetime-local | NN | |
54
+ | _LastUpdatedUserID | bin._LastUpdatedUserID | number(19) | | |
55
+ | _LastUpdatedTicketID | bin._LastUpdatedTicketID | number(19) | RO | |
56
+
57
+ ---
58
+
59
+ ## entity
60
+ **Category**: Exportable | **EntityUID**: entity
61
+
62
+ | Column | UID | Type | Flags | Enum / Notes |
63
+ |--------|-----|------|-------|--------------|
64
+ | EntityID | entity.EntityID | number(19) | PK, AI, NN | |
65
+ | UID | entity.UID | text(50) | NN | |
66
+ | AppID | entity.AppID | number(5) | | FK → app |
67
+ | DataSourceID | entity.DataSourceID | number(19) | NN | FK → data_source |
68
+ | SchemaID | entity.SchemaID | number(19) | | FK → schema |
69
+ | ParentEntityID | entity.ParentEntityID | number(19) | | FK → entity (self) |
70
+ | EntityType | entity.EntityType | select(5) | NN | Table, View |
71
+ | PhysicalName | entity.PhysicalName | text(100) | NN | Physical table/view name in DB |
72
+ | DisplayName | entity.DisplayName | text(50) | NN | |
73
+ | DefaultDisplay | entity.DefaultDisplay | text(100) | | |
74
+ | DefaultReferences | entity.DefaultReferences | text(200) | | |
75
+ | Unique | entity.Unique | text(150) | | Unique constraint column list |
76
+ | Description | entity.Description | textarea | | |
77
+ | DefaultMediaID | entity.DefaultMediaID | number(19) | | FK → media |
78
+ | _CreatedOn | entity._CreatedOn | datetime-local | NN | |
79
+ | _LastUpdated | entity._LastUpdated | datetime-local | NN | |
80
+ | _LastUpdatedUserID | entity._LastUpdatedUserID | number(19) | | |
81
+ | _LastUpdatedTicketID | entity._LastUpdatedTicketID | number(19) | RO | |
82
+
83
+ ---
84
+
85
+ ## entity_column
86
+ **Category**: Exportable | **EntityUID**: entity_column
87
+
88
+ | Column | UID | Type | Flags | Enum / Notes |
89
+ |--------|-----|------|-------|--------------|
90
+ | EntityColumnID | entity_column.EntityColumnID | number(19) | PK, AI, NN | |
91
+ | UID | entity_column.UID | text(100) | NN | |
92
+ | EntityID | entity_column.EntityID | number(19) | NN | FK → entity |
93
+ | PhysicalEntityID | entity_column.PhysicalEntityID | number(19) | NN | |
94
+ | PhysicalName | entity_column.PhysicalName | text(50) | NN | Physical column name in DB |
95
+ | DisplayName | entity_column.DisplayName | text(50) | NN | |
96
+ | OrderNumber | entity_column.OrderNumber | number(5) | NN | default=0 |
97
+ | PhysicalOrderNumber | entity_column.PhysicalOrderNumber | number(5) | NN | default=0 |
98
+ | DataFormat | entity_column.DataFormat | text(50) | | Input type/format |
99
+ | DataSourceTypeDataTypeRelID | entity_column.DataSourceTypeDataTypeRelID | number(10) | | FK → data_source_type_data_type_rel |
100
+ | PrimaryKey | entity_column.PrimaryKey | select(1) | NN | 0/1 |
101
+ | AutoIncrement | entity_column.AutoIncrement | select(1) | NN | 0/1 |
102
+ | NotNull | entity_column.NotNull | select(1) | NN | 0/1 |
103
+ | Computed | entity_column.Computed | select(1) | NN | 0/1 |
104
+ | ReadOnly | entity_column.ReadOnly | select(1) | NN | 0/1 |
105
+ | Encrypted | entity_column.Encrypted | select(1) | NN | 0/1 |
106
+ | MaxCharacterLength | entity_column.MaxCharacterLength | number(19) | | |
107
+ | NumericPrecision | entity_column.NumericPrecision | number(5) | | |
108
+ | NumericScale | entity_column.NumericScale | number(5) | | |
109
+ | DefaultValue | entity_column.DefaultValue | text(1000) | | |
110
+ | PrimaryKeyEntityColumnID | entity_column.PrimaryKeyEntityColumnID | number(19) | | FK → entity_column (self) |
111
+ | ValidationRegEx | entity_column.ValidationRegEx | text(150) | | |
112
+ | Description | entity_column.Description | textarea | | |
113
+ | _CreatedOn | entity_column._CreatedOn | datetime-local | NN | |
114
+ | _LastUpdated | entity_column._LastUpdated | datetime-local | NN | |
115
+ | _LastUpdatedUserID | entity_column._LastUpdatedUserID | number(19) | | |
116
+ | _LastUpdatedTicketID | entity_column._LastUpdatedTicketID | number(19) | RO | |
117
+
118
+ ---
119
+
120
+ ## entity_column_value
121
+ **Category**: Exportable | **EntityUID**: entity_column_value
122
+
123
+ | Column | UID | Type | Flags | Enum / Notes |
124
+ |--------|-----|------|-------|--------------|
125
+ | EntityColumnValueID | entity_column_value.EntityColumnValueID | number(19) | PK, AI, NN | |
126
+ | UID | entity_column_value.UID | text(100) | NN | |
127
+ | EntityColumnID | entity_column_value.EntityColumnID | number(19) | NN | FK → entity_column |
128
+ | Value | entity_column_value.Value | text(100) | NN | The enum value string |
129
+ | OrderNumber | entity_column_value.OrderNumber | number(5) | NN | |
130
+ | _CreatedOn | entity_column_value._CreatedOn | datetime-local | NN | |
131
+ | _LastUpdated | entity_column_value._LastUpdated | datetime-local | NN | |
132
+ | _LastUpdatedUserID | entity_column_value._LastUpdatedUserID | number(19) | | |
133
+ | _LastUpdatedTicketID | entity_column_value._LastUpdatedTicketID | number(19) | RO | |
134
+
135
+ ---
136
+
137
+ ## output
138
+ **Category**: Exportable | **EntityUID**: output
139
+
140
+ | Column | UID | Type | Flags | Enum / Notes |
141
+ |--------|-----|------|-------|--------------|
142
+ | OutputID | output.OutputID | number(19) | PK, AI, NN | |
143
+ | UID | output.UID | text(50) | NN | |
144
+ | AppID | output.AppID | number(5) | | FK → app |
145
+ | Name | output.Name | text(100) | NN | |
146
+ | Title | output.Title | text(100) | | |
147
+ | Description | output.Description | text(500) | | |
148
+ | Type | output.Type | select(15) | NN | Legacy, Query, CustomSQL, StoredProcedure, Function, View, Trigger, Index, ImportScript |
149
+ | BaseEntityID | output.BaseEntityID | number(19) | | FK → entity |
150
+ | DataSourceID | output.DataSourceID | number(19) | | FK → data_source |
151
+ | TemplateContentID | output.TemplateContentID | number(19) | | FK → content |
152
+ | DefaultMediaID | output.DefaultMediaID | number(19) | | FK → media |
153
+ | BinID | output.BinID | number(19) | | FK → bin |
154
+ | MaxRows | output.MaxRows | number(10) | | Legacy — prefer Limit |
155
+ | Limit | output.Limit | number(10) | | Max rows returned |
156
+ | RowsPerPage | output.RowsPerPage | number(10) | | |
157
+ | Parameters | output.Parameters | text(200) | | |
158
+ | CustomSQL | output.CustomSQL | textarea | | Used when Type=CustomSQL |
159
+ | Cache | output.Cache | select(1) | NN | 0/1 |
160
+ | Public | output.Public | select(1) | NN | 0/1 — bypasses Execute security check |
161
+ | Active | output.Active | select(1) | NN | default=1 |
162
+ | ApplyLocks | output.ApplyLocks | select(1) | NN | default=0 |
163
+ | AdhocFilters | output.AdhocFilters | select(1) | NN | default=0 |
164
+ | LastRequest | output.LastRequest | datetime-local | | |
165
+ | _CreatedOn | output._CreatedOn | datetime-local | NN | |
166
+ | _LastUpdated | output._LastUpdated | datetime-local | NN | |
167
+ | _LastUpdatedUserID | output._LastUpdatedUserID | number(19) | | |
168
+ | _LastUpdatedTicketID | output._LastUpdatedTicketID | number(19) | RO | |
169
+
170
+ ---
171
+
172
+ ## output_value
173
+ **Category**: Exportable | **EntityUID**: output_value
174
+ *Defines columns/fields selected by an output. One row per field.*
175
+
176
+ | Column | UID | Type | Flags | Enum / Notes |
177
+ |--------|-----|------|-------|--------------|
178
+ | OutputValueID | output_value.OutputValueID | number(19) | PK, AI, NN | |
179
+ | UID | output_value.UID | text(50) | NN | |
180
+ | OutputID | output_value.OutputID | number(19) | NN | FK → output |
181
+ | Title | output_value.Title | text(100) | NN | Display name |
182
+ | ShortName | output_value.ShortName | text(45) | | |
183
+ | OrderNumber | output_value.OrderNumber | number(5) | NN | |
184
+ | OutputType | output_value.OutputType | select(12) | NN | EntityColumn, CustomSQL |
185
+ | CustomSQL | output_value.CustomSQL | textarea | | Used when OutputType=CustomSQL |
186
+ | OutputValueEntityColumnRelID | output_value.OutputValueEntityColumnRelID | number(19) | | FK → output_value_entity_column_rel |
187
+ | ReferencedEntityColumnID | output_value.ReferencedEntityColumnID | number(19) | | |
188
+ | Hide | output_value.Hide | select(1) | NN | default=0 |
189
+ | Shared | output_value.Shared | select(1) | NN | default=0 |
190
+ | Distinct | output_value.Distinct | select(1) | NN | default=0 |
191
+ | Aggregate | output_value.Aggregate | select(7) | | Group, Sum, Min, Max, Average, Count |
192
+ | Summary | output_value.Summary | select(7) | | Sum, Min, Max, Average, Count |
193
+ | DatePart | output_value.DatePart | select(16) | | DateAndTime, Date, Time, Year, Quarter, MonthName, MonthNumber, WeekNumber, DayName, DayNumberInWeek, DayNumberInMonth, DayNumberInYear, Hour, Minute, Second, Microsecond |
194
+ | SortOrder | output_value.SortOrder | number(5) | | |
195
+ | SortType | output_value.SortType | select(10) | | Ascending, Descending, Random |
196
+ | Format | output_value.Format | text(30) | | |
197
+ | EnforceSecurity | output_value.EnforceSecurity | select(9) | | Add, Edit, Delete, View, Execute, Associate |
198
+ | _CreatedOn | output_value._CreatedOn | datetime-local | NN | |
199
+ | _LastUpdated | output_value._LastUpdated | datetime-local | NN | |
200
+ | _LastUpdatedUserID | output_value._LastUpdatedUserID | number(19) | | |
201
+ | _LastUpdatedTicketID | output_value._LastUpdatedTicketID | number(19) | RO | |
202
+
203
+ ---
204
+
205
+ ## output_value_filter
206
+ **Category**: Exportable | **EntityUID**: output_value_filter
207
+ *Defines filter conditions on an output. One row per filter.*
208
+
209
+ | Column | UID | Type | Flags | Enum / Notes |
210
+ |--------|-----|------|-------|--------------|
211
+ | OutputValueFilterID | output_value_filter.OutputValueFilterID | number(19) | PK, AI, NN | |
212
+ | UID | output_value_filter.UID | text(50) | NN | |
213
+ | OutputID | output_value_filter.OutputID | number(19) | | FK → output |
214
+ | OutputValueID | output_value_filter.OutputValueID | number(19) | | FK → output_value |
215
+ | ShortName | output_value_filter.ShortName | text(45) | | Used as URL param name when Prompted=1 |
216
+ | OrderNumber | output_value_filter.OrderNumber | number(19) | NN | |
217
+ | FilterType | output_value_filter.FilterType | select(20) | NN | Exact, Contains, StartsWith, EndsWith, LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo |
218
+ | FilterPreset | output_value_filter.FilterPreset | select(21) | | SessionUID, CurrentUser, LoggedInUser, EntityRowID, RequestPath, CurrentSiteID, Now, Today, Yesterday, ThisWeek, LastWeek, ThisMonth, LastMonth, ThisQuarter, LastQuarter, ThisYear, LastYear, _security@add, _security@edit, _security@delete, _security@view, _security@associate, _security@execute, _security@impersonate, IpAddress, CurrentTicketID |
219
+ | PrimaryValue | output_value_filter.PrimaryValue | text(100) | | Static filter value |
220
+ | SecondaryValue | output_value_filter.SecondaryValue | text(100) | | Upper bound for range filters |
221
+ | ValuesByOutputID | output_value_filter.ValuesByOutputID | number(19) | | FK → output (dynamic values from output) |
222
+ | Inclusive | output_value_filter.Inclusive | select(1) | NN | default=1 |
223
+ | Prompted | output_value_filter.Prompted | select(1) | NN | default=0 — if 1, filter accepts URL param |
224
+ | Required | output_value_filter.Required | select(1) | NN | default=0 |
225
+ | ApplyToAggregate | output_value_filter.ApplyToAggregate | select(1) | NN | default=0 |
226
+ | Operator | output_value_filter.Operator | select(3) | NN | OR, AND — default=OR |
227
+ | _CreatedOn | output_value_filter._CreatedOn | datetime-local | NN | |
228
+ | _LastUpdated | output_value_filter._LastUpdated | datetime-local | NN | |
229
+ | _LastUpdatedUserID | output_value_filter._LastUpdatedUserID | number(19) | | |
230
+ | _LastUpdatedTicketID | output_value_filter._LastUpdatedTicketID | number(19) | RO | |
231
+
232
+ ---
233
+
234
+ ## output_value_entity_column_rel
235
+ **Category**: Exportable | **EntityUID**: output_value_entity_column_rel
236
+ *Maps an output_value to a specific entity column, including join configuration.*
237
+
238
+ | Column | UID | Type | Flags | Enum / Notes |
239
+ |--------|-----|------|-------|--------------|
240
+ | OutputValueEntityColumnRelID | output_value_entity_column_rel.OutputValueEntityColumnRelID | number(19) | PK, AI, NN | |
241
+ | UID | output_value_entity_column_rel.UID | text(50) | NN | |
242
+ | OutputID | output_value_entity_column_rel.OutputID | number(19) | | FK → output |
243
+ | OutputValueID | output_value_entity_column_rel.OutputValueID | number(19) | | FK → output_value |
244
+ | SourceEntityColumnID | output_value_entity_column_rel.SourceEntityColumnID | number(19) | NN | FK → entity_column |
245
+ | ReferencedEntityColumnID | output_value_entity_column_rel.ReferencedEntityColumnID | number(19) | | FK → entity_column |
246
+ | SourceJoinID | output_value_entity_column_rel.SourceJoinID | number(19) | | |
247
+ | JoinType | output_value_entity_column_rel.JoinType | select(14) | | InnerJoin, LeftOuterJoin, RightOuterJoin, FullOuterJoin |
248
+ | OrderNumber | output_value_entity_column_rel.OrderNumber | number(19) | NN | |
249
+ | CustomSQL | output_value_entity_column_rel.CustomSQL | text(1000) | | |
250
+ | Alias | output_value_entity_column_rel.Alias | text(50) | | |
251
+ | _CreatedOn | output_value_entity_column_rel._CreatedOn | datetime-local | NN | |
252
+ | _LastUpdated | output_value_entity_column_rel._LastUpdated | datetime-local | NN | |
253
+ | _LastUpdatedUserID | output_value_entity_column_rel._LastUpdatedUserID | number(19) | | |
254
+ | _LastUpdatedTicketID | output_value_entity_column_rel._LastUpdatedTicketID | number(19) | RO | |
255
+
256
+ ---
257
+
258
+ ## content
259
+ **Category**: Exportable | **EntityUID**: content
260
+
261
+ | Column | UID | Type | Flags | Enum / Notes |
262
+ |--------|-----|------|-------|--------------|
263
+ | ContentID | content.ContentID | number(19) | PK, AI, NN | |
264
+ | UID | content.UID | text(50) | NN | |
265
+ | AppID | content.AppID | number(5) | | FK → app |
266
+ | BinID | content.BinID | number(19) | | FK → bin |
267
+ | SiteID | content.SiteID | number(19) | | FK → site |
268
+ | EntityID | content.EntityID | number(19) | | FK → entity |
269
+ | Name | content.Name | text(100) | NN | |
270
+ | Path | content.Path | text(150) | | URL path for routing |
271
+ | Title | content.Title | text(255) | | |
272
+ | Keywords | content.Keywords | text(255) | | |
273
+ | Content | content.Content | code | | The template markup/code body |
274
+ | Type | content.Type | select(8) | | Code, Layout, Page, Pagelet, Template, Text, Snippet |
275
+ | Extension | content.Extension | select(4) | | CSS, JS, JSON, HTML, TXT, XML, MD, CS |
276
+ | Parameters | content.Parameters | text(200) | | |
277
+ | Public | content.Public | select(1) | NN | default=0 — bypasses Execute security check |
278
+ | Active | content.Active | select(1) | NN | default=1 |
279
+ | RequireSSL | content.RequireSSL | select(1) | NN | default=0 |
280
+ | Description | content.Description | text(500) | | |
281
+ | CacheControl | content.CacheControl | text(30) | | |
282
+ | RenderedCacheLength | content.RenderedCacheLength | number(10) | | |
283
+ | LastRequest | content.LastRequest | datetime-local | | |
284
+ | _CreatedOn | content._CreatedOn | datetime-local | NN | |
285
+ | _LastUpdated | content._LastUpdated | datetime-local | NN | |
286
+ | _LastUpdatedUserID | content._LastUpdatedUserID | number(19) | RO | |
287
+ | _LastUpdatedTicketID | content._LastUpdatedTicketID | number(19) | RO | |
288
+
289
+ ---
290
+
291
+ ## data_source
292
+ **Category**: Exportable | **EntityUID**: data_source
293
+
294
+ | Column | UID | Type | Flags | Enum / Notes |
295
+ |--------|-----|------|-------|--------------|
296
+ | DataSourceID | data_source.DataSourceID | number(19) | PK, AI, NN | |
297
+ | UID | data_source.UID | text(25) | NN | |
298
+ | AppID | data_source.AppID | number(5) | | FK → app |
299
+ | Name | data_source.Name | text(50) | NN | |
300
+ | ShortName | data_source.ShortName | text(30) | NN | |
301
+ | PhysicalName | data_source.PhysicalName | text(64) | NN | Physical DB name |
302
+ | DataSourceTypeID | data_source.DataSourceTypeID | number(10) | NN | |
303
+ | ConnectionString | data_source.ConnectionString | text(500) | | |
304
+ | SecureConnectionString | data_source.SecureConnectionString | text(502) | ENC | |
305
+ | CustomEncryption | data_source.CustomEncryption | textarea | | |
306
+ | _CreatedOn | data_source._CreatedOn | datetime-local | NN | |
307
+ | _LastUpdated | data_source._LastUpdated | datetime-local | NN | |
308
+ | _LastUpdatedUserID | data_source._LastUpdatedUserID | number(19) | | |
309
+ | _LastUpdatedTicketID | data_source._LastUpdatedTicketID | number(19) | RO | |
310
+
311
+ ---
312
+
313
+ ## media
314
+ **Category**: Exportable | **EntityUID**: media
315
+
316
+ | Column | UID | Type | Flags | Enum / Notes |
317
+ |--------|-----|------|-------|--------------|
318
+ | MediaID | media.MediaID | number(19) | PK, AI, NN | |
319
+ | UID | media.UID | text(50) | NN | |
320
+ | AppID | media.AppID | number(5) | | FK → app |
321
+ | AppUID | media.AppUID | text(50) | | |
322
+ | BinID | media.BinID | number(19) | | FK → bin |
323
+ | ParentMediaID | media.ParentMediaID | number(19) | | FK → media (self) |
324
+ | Name | media.Name | text(200) | NN | |
325
+ | Filename | media.Filename | text(200) | NN | Physical filename |
326
+ | Path | media.Path | text(150) | | |
327
+ | FullPath | media.FullPath | text(500) | | Computed full physical path |
328
+ | Extension | media.Extension | text(15) | | |
329
+ | MimeType | media.MimeType | text(200) | | |
330
+ | FileSize | media.FileSize | number(19) | | Bytes |
331
+ | Duration | media.Duration | number(10) | | For video/audio |
332
+ | source_id | media.source_id | number(10) | | |
333
+ | source_table | media.source_table | text(32) | | |
334
+ | Description | media.Description | text(255) | | |
335
+ | Ownership | media.Ownership | select(6) | NN | App, User, System — default=User |
336
+ | Public | media.Public | select(1) | NN | default=0 |
337
+ | _CreatedOn | media._CreatedOn | datetime-local | NN | |
338
+ | _LastUpdated | media._LastUpdated | datetime-local | NN | |
339
+ | _LastUpdatedUserID | media._LastUpdatedUserID | number(19) | | |
340
+ | _LastUpdatedTicketID | media._LastUpdatedTicketID | number(19) | RO | |
341
+
342
+ ---
343
+
344
+ ## group
345
+ **Category**: Exportable | **EntityUID**: group
346
+
347
+ | Column | UID | Type | Flags | Enum / Notes |
348
+ |--------|-----|------|-------|--------------|
349
+ | GroupID | group.GroupID | number(19) | PK, AI, NN | |
350
+ | UID | group.UID | text(50) | NN | |
351
+ | AppID | group.AppID | number(5) | NN | FK → app |
352
+ | Name | group.Name | text(100) | NN | |
353
+ | Description | group.Description | text(200) | | |
354
+ | Active | group.Active | select(1) | NN | default=0 |
355
+ | AutomatedSecurity | group.AutomatedSecurity | select(7) | | Allow, Suggest |
356
+ | _CreatedOn | group._CreatedOn | datetime-local | NN | |
357
+ | _LastUpdated | group._LastUpdated | datetime-local | NN | |
358
+ | _LastUpdatedUserID | group._LastUpdatedUserID | number(19) | | |
359
+ | _LastUpdatedTicketID | group._LastUpdatedTicketID | number(19) | RO | |
360
+
361
+ ---
362
+
363
+ ## site
364
+ **Category**: Exportable | **EntityUID**: site
365
+
366
+ | Column | UID | Type | Flags | Enum / Notes |
367
+ |--------|-----|------|-------|--------------|
368
+ | SiteID | site.SiteID | number(19) | PK, AI, NN | |
369
+ | UID | site.UID | text(50) | NN | |
370
+ | AppID | site.AppID | number(5) | NN | FK → app |
371
+ | Name | site.Name | text(100) | NN | |
372
+ | ShortName | site.ShortName | text(15) | NN | |
373
+ | Title | site.Title | text(200) | | |
374
+ | TemplateContentID | site.TemplateContentID | number(19) | | FK → content (master template) |
375
+ | DefaultContentID | site.DefaultContentID | number(19) | | FK → content |
376
+ | FallbackContentID | site.FallbackContentID | number(19) | | FK → content |
377
+ | LoginRedirectContentID | site.LoginRedirectContentID | number(19) | | FK → content |
378
+ | ForbiddenRedirectContentID | site.ForbiddenRedirectContentID | number(19) | | FK → content |
379
+ | Parameters | site.Parameters | text(200) | | |
380
+ | _CreatedOn | site._CreatedOn | datetime-local | NN | |
381
+ | _LastUpdated | site._LastUpdated | datetime-local | NN | |
382
+ | _LastUpdatedUserID | site._LastUpdatedUserID | number(19) | | |
383
+ | _LastUpdatedTicketID | site._LastUpdatedTicketID | number(19) | RO | |
384
+
385
+ ---
386
+
387
+ ## security
388
+ **Category**: Exportable | **EntityUID**: security
389
+
390
+ | Column | UID | Type | Flags | Enum / Notes |
391
+ |--------|-----|------|-------|--------------|
392
+ | SecurityID | security.SecurityID | number(19) | PK, AI, NN | |
393
+ | UID | security.UID | text(50) | NN | |
394
+ | AppID | security.AppID | number(5) | | FK → app |
395
+ | EntityID | security.EntityID | number(19) | NN | FK → entity (which entity this grant applies to) |
396
+ | UserID | security.UserID | number(19) | | FK → user (grant for specific user; mutually exclusive with GroupID) |
397
+ | GroupID | security.GroupID | number(19) | | FK → group (grant for group; mutually exclusive with UserID) |
398
+ | View | security.View | select(1) | NN | default=0 |
399
+ | Add | security.Add | select(1) | NN | default=0 |
400
+ | Edit | security.Edit | select(1) | NN | default=0 |
401
+ | Delete | security.Delete | select(1) | NN | default=0 |
402
+ | Execute | security.Execute | select(1) | NN | default=0 |
403
+ | Associate | security.Associate | select(1) | NN | default=0 |
404
+ | Impersonate | security.Impersonate | select(1) | NN | default=0 |
405
+ | Active | security.Active | select(1) | NN | default=1 |
406
+ | RowIDs | security.RowIDs | textarea | | Comma-separated row IDs for row-level restriction |
407
+ | RowIDsByOutputID | security.RowIDsByOutputID | number(19) | | FK → output (dynamic row IDs) |
408
+ | RowUID | security.RowUID | text(1000) | | Single UID for row restriction |
409
+ | Description | security.Description | textarea | | |
410
+ | _CreatedOn | security._CreatedOn | datetime-local | NN | |
411
+ | _LastUpdated | security._LastUpdated | datetime-local | NN | |
412
+ | _LastUpdatedUserID | security._LastUpdatedUserID | number(19) | | |
413
+ | _LastUpdatedTicketID | security._LastUpdatedTicketID | number(19) | RO | |
414
+
415
+ ---
416
+
417
+ ## security_column
418
+ **Category**: Exportable | **EntityUID**: security_column
419
+
420
+ | Column | UID | Type | Flags | Enum / Notes |
421
+ |--------|-----|------|-------|--------------|
422
+ | SecurityColumnID | security_column.SecurityColumnID | number(19) | PK, AI, NN | |
423
+ | UID | security_column.UID | text(50) | NN | |
424
+ | SecurityID | security_column.SecurityID | number(19) | NN | FK → security |
425
+ | EntityColumnID | security_column.EntityColumnID | number(19) | NN | FK → entity_column |
426
+ | View | security_column.View | select(1) | NN | default=0 |
427
+ | Add | security_column.Add | select(1) | NN | default=0 |
428
+ | Edit | security_column.Edit | select(1) | NN | default=0 |
429
+ | _CreatedOn | security_column._CreatedOn | datetime-local | NN | |
430
+ | _LastUpdated | security_column._LastUpdated | datetime-local | NN | |
431
+ | _LastUpdatedUserID | security_column._LastUpdatedUserID | number(19) | | |
432
+ | _LastUpdatedTicketID | security_column._LastUpdatedTicketID | number(19) | RO | |
433
+
434
+ ---
435
+
436
+ ## automation
437
+ **Category**: Exportable | **EntityUID**: automation
438
+
439
+ | Column | UID | Type | Flags | Enum / Notes |
440
+ |--------|-----|------|-------|--------------|
441
+ | ID | automation.ID | number(19) | PK, AI, NN | |
442
+ | UID | automation.UID | text(50) | NN | |
443
+ | AppID | automation.AppID | number(5) | | FK → app |
444
+ | Name | automation.Name | text(100) | NN | |
445
+ | Description | automation.Description | textarea | | |
446
+ | Active | automation.Active | number(3) | NN | |
447
+ | Status | automation.Status | select(7) | | Ready, Running — default=Ready |
448
+ | URL | automation.URL | textarea | NN | The endpoint to call on schedule |
449
+ | Interval | automation.Interval | number(10) | NN | Numeric interval value |
450
+ | IntervalUnit | automation.IntervalUnit | select(7) | NN | Seconds, Minutes, Hours, Days |
451
+ | Begin | automation.Begin | datetime-local | | Schedule start |
452
+ | End | automation.End | datetime-local | | Schedule end |
453
+ | LastExecution | automation.LastExecution | datetime-local | | |
454
+ | NextExecution | automation.NextExecution | datetime-local | RO | |
455
+ | _CreatedOn | automation._CreatedOn | datetime-local | RO | |
456
+ | _LastUpdated | automation._LastUpdated | datetime-local | RO | |
457
+ | _LastUpdatedUserID | automation._LastUpdatedUserID | number(19) | RO | |
458
+ | _LastUpdatedTicketID | automation._LastUpdatedTicketID | number(19) | RO | |
459
+
460
+ ---
461
+
462
+ ## extension
463
+ **Category**: Exportable | **EntityUID**: extension
464
+ *Generic key-value store for app configuration and custom data bags.*
465
+
466
+ | Column | UID | Type | Flags | Enum / Notes |
467
+ |--------|-----|------|-------|--------------|
468
+ | ExtensionID | extension.ExtensionID | number(19) | PK, AI, NN | |
469
+ | UID | extension.UID | text(50) | NN | |
470
+ | AppID | extension.AppID | number(5) | | FK → app |
471
+ | GroupUID | extension.GroupUID | text(50) | | Groups related extensions |
472
+ | UserUID | extension.UserUID | text(50) | | Scopes to a user |
473
+ | TargetAppUID | extension.TargetAppUID | text(50) | | |
474
+ | Active | extension.Active | select(1) | NN | default=1 |
475
+ | Name | extension.Name | text(100) | | |
476
+ | Descriptor | extension.Descriptor | text(50) | | |
477
+ | Text | extension.Text | textarea | | |
478
+ | String1–String20 | extension.String1–extension.String20 | textarea(65535) | | 20 generic string fields |
479
+ | _CreatedOn | extension._CreatedOn | datetime-local | NN | |
480
+ | _LastUpdated | extension._LastUpdated | datetime-local | NN | |
481
+ | _LastUpdatedUserID | extension._LastUpdatedUserID | number(19) | | |
482
+ | _LastUpdatedTicketID | extension._LastUpdatedTicketID | number(19) | RO | |
483
+
484
+ ---
485
+
486
+ ## integration
487
+ **Category**: Exportable | **EntityUID**: integration
488
+
489
+ | Column | UID | Type | Flags | Enum / Notes |
490
+ |--------|-----|------|-------|--------------|
491
+ | ID | integration.ID | number(19) | PK, AI, NN | |
492
+ | UID | integration.UID | text(50) | | |
493
+ | AppID | integration.AppID | number(5) | | FK → app |
494
+ | Name | integration.Name | text(45) | | |
495
+ | ShortName | integration.ShortName | text(15) | NN | |
496
+ | Active | integration.Active | select(1) | | |
497
+ | BaseURL | integration.BaseURL | url(255) | | |
498
+ | ConnectionString | integration.ConnectionString | text(500) | | |
499
+ | SecureConnectionString | integration.SecureConnectionString | password(502) | ENC | |
500
+ | Config | integration.Config | text(5000) | | |
501
+ | _CreatedOn | integration._CreatedOn | datetime-local | NN | |
502
+ | _LastUpdated | integration._LastUpdated | datetime-local | NN | |
503
+
504
+ ---
505
+
506
+ ## redirect
507
+ **Category**: Exportable | **EntityUID**: redirect
508
+
509
+ | Column | UID | Type | Flags | Enum / Notes |
510
+ |--------|-----|------|-------|--------------|
511
+ | RedirectID | redirect.RedirectID | number(19) | PK, AI, NN | |
512
+ | UID | redirect.UID | text(50) | NN | |
513
+ | AppID | redirect.AppID | number(5) | NN | FK → app |
514
+ | SiteID | redirect.SiteID | number(19) | NN | FK → site |
515
+ | RequestPath | redirect.RequestPath | text(150) | NN | Incoming path to match |
516
+ | RedirectPath | redirect.RedirectPath | text(150) | NN | Destination path |
517
+ | Type | redirect.Type | select(22) | NN | 301:Moved Permanently, 307:Temporary Redirect |
518
+ | ExcludeQueryString | redirect.ExcludeQueryString | select(1) | NN | default=0 |
519
+ | LastRedirect | redirect.LastRedirect | datetime-local | | |
520
+ | _CreatedOn | redirect._CreatedOn | datetime-local | NN | |
521
+ | _LastUpdated | redirect._LastUpdated | datetime-local | NN | |
522
+ | _LastUpdatedUserID | redirect._LastUpdatedUserID | number(19) | | |
523
+ | _LastUpdatedTicketID | redirect._LastUpdatedTicketID | number(19) | RO | |
524
+
525
+ ---
526
+
527
+ ## NON-EXPORTABLE ENTITIES
528
+
529
+ ---
530
+
531
+ ## user
532
+ **Category**: Non-Exportable | **EntityUID**: user
533
+
534
+ | Column | UID | Type | Flags | Enum / Notes |
535
+ |--------|-----|------|-------|--------------|
536
+ | UserID | user.UserID | number(19) | PK, AI, NN | |
537
+ | UID | user.UID | text(50) | | |
538
+ | FirstName | user.FirstName | text(50) | NN | |
539
+ | LastName | user.LastName | text(50) | | |
540
+ | Username | user.Username | text(50) | | |
541
+ | Email | user.Email | email(100) | | |
542
+ | PhoneNumber | user.PhoneNumber | tel(50) | | |
543
+ | Active | user.Active | select(1) | NN | default=1 |
544
+ | Administrator | user.Administrator | select(1) | NN | default=0 — bypasses all security checks |
545
+ | DefaultMediaID | user.DefaultMediaID | number(19) | | FK → media |
546
+ | PassKey | user.PassKey | password(502) | ENC | |
547
+ | Password | user.Password | password(502) | ENC | |
548
+ | LastAuthenticationID | user.LastAuthenticationID | number(19) | | |
549
+ | _CreatedOn | user._CreatedOn | datetime-local | NN, RO | |
550
+ | _LastUpdated | user._LastUpdated | datetime-local | NN | |
551
+
552
+ ---
553
+
554
+ ## user_account
555
+ **Category**: Non-Exportable | **EntityUID**: user_account
556
+ *Links a DBO user to an external account entity row.*
557
+
558
+ | Column | UID | Type | Flags | Enum / Notes |
559
+ |--------|-----|------|-------|--------------|
560
+ | UserAccountID | user_account.UserAccountID | number(19) | PK, AI, NN | |
561
+ | UserID | user_account.UserID | number(19) | NN | FK → user |
562
+ | ExternalAccountEntityID | user_account.ExternalAccountEntityID | number(19) | NN | FK → entity |
563
+ | ExternalAccountRowID | user_account.ExternalAccountRowID | number(19) | NN | Row ID in the external entity |
564
+ | Active | user_account.Active | select(1) | NN | default=1 |
565
+ | _CreatedOn | user_account._CreatedOn | datetime-local | NN | |
566
+ | _LastUpdated | user_account._LastUpdated | datetime-local | NN | |
567
+
568
+ ---
569
+
570
+ ## user_group_rel
571
+ **Category**: Non-Exportable | **EntityUID**: user_group_rel
572
+
573
+ | Column | UID | Type | Flags | Enum / Notes |
574
+ |--------|-----|------|-------|--------------|
575
+ | UserGroupRelID | user_group_rel.UserGroupRelID | number(19) | PK, AI, NN | |
576
+ | UserID | user_group_rel.UserID | number(19) | NN | FK → user |
577
+ | GroupID | user_group_rel.GroupID | number(19) | NN | FK → group |
578
+ | _CreatedOn | user_group_rel._CreatedOn | datetime-local | NN | |
579
+ | _LastUpdated | user_group_rel._LastUpdated | datetime-local | NN | |
580
+
581
+ ---
582
+
583
+ ## user_network
584
+ **Category**: Non-Exportable | **EntityUID**: user_network
585
+
586
+ | Column | UID | Type | Flags | Enum / Notes |
587
+ |--------|-----|------|-------|--------------|
588
+ | UserNetworkID | user_network.UserNetworkID | number(19) | PK, AI, NN | |
589
+ | UserID | user_network.UserID | number(19) | NN | FK → user |
590
+ | NetworkID | user_network.NetworkID | number(10) | NN | |
591
+ | Active | user_network.Active | select(1) | NN | default=1 |
592
+ | _CreatedOn | user_network._CreatedOn | datetime-local | NN | |
593
+ | _LastUpdated | user_network._LastUpdated | datetime-local | NN | |
594
+
595
+ ---
596
+
597
+ ## mail_server
598
+ **Category**: Non-Exportable | **EntityUID**: mail_server
599
+
600
+ | Column | UID | Type | Flags | Enum / Notes |
601
+ |--------|-----|------|-------|--------------|
602
+ | MailServerID | mail_server.MailServerID | number(19) | PK, AI, NN | |
603
+ | UID | mail_server.UID | text(50) | | |
604
+ | Type | mail_server.Type | select(8) | NN | Outgoing — default=Outgoing |
605
+ | Method | mail_server.Method | select(4) | NN | SMTP, ChatBot — default=SMTP |
606
+ | Description | mail_server.Description | text(50) | NN | |
607
+ | FullName | mail_server.FullName | text(50) | NN | Sender display name |
608
+ | EmailAddress | mail_server.EmailAddress | email(50) | NN | Sender address |
609
+ | ServerAddress | mail_server.ServerAddress | url(50) | NN | SMTP host |
610
+ | Port | mail_server.Port | number(5) | NN | |
611
+ | Security | mail_server.Security | select(4) | NN | None, SSL, TLS |
612
+ | AuthenticationType | mail_server.AuthenticationType | select(8) | | Password |
613
+ | Username | mail_server.Username | text(45) | | |
614
+ | Password | mail_server.Password | password(502) | ENC | |
615
+ | _CreatedOn | mail_server._CreatedOn | datetime-local | NN | |
616
+ | _LastUpdated | mail_server._LastUpdated | datetime-local | NN | |
617
+ | _LastUpdatedUserID | mail_server._LastUpdatedUserID | number(19) | | |
618
+
619
+ ---
620
+
621
+ ## message
622
+ **Category**: Non-Exportable | **EntityUID**: message
623
+
624
+ | Column | UID | Type | Flags | Enum / Notes |
625
+ |--------|-----|------|-------|--------------|
626
+ | MessageID | message.MessageID | number(19) | PK, AI, NN | |
627
+ | UID | message.UID | text(50) | NN | |
628
+ | MailServerID | message.MailServerID | number(19) | | FK → mail_server |
629
+ | ThreadID | message.ThreadID | number(19) | | FK → message_thread |
630
+ | FromUserID | message.FromUserID | number(19) | | FK → user |
631
+ | FromUserEmail | message.FromUserEmail | email(100) | | Override sender address |
632
+ | Subject | message.Subject | text(100) | | |
633
+ | Message | message.Message | textarea | NN | Body content |
634
+ | Type | message.Type | select(5) | NN | Email, Chat, SMS/MMS, Log |
635
+ | EntityID | message.EntityID | number(19) | | FK → entity (related record context) |
636
+ | EntityRowID | message.EntityRowID | number(19) | | Related record row ID |
637
+ | Descriptor | message.Descriptor | text(100) | | |
638
+ | DateSent | message.DateSent | datetime-local | | |
639
+ | SendAfter | message.SendAfter | datetime-local | | Schedule send |
640
+ | _CreatedOn | message._CreatedOn | datetime-local | NN | |
641
+ | _LastUpdated | message._LastUpdated | datetime-local | NN | |
642
+
643
+ ---
644
+
645
+ ## message_recipient
646
+ **Category**: Non-Exportable | **EntityUID**: message_recipient
647
+
648
+ | Column | UID | Type | Flags | Enum / Notes |
649
+ |--------|-----|------|-------|--------------|
650
+ | MessageRecipientID | message_recipient.MessageRecipientID | number(19) | PK, AI, NN | |
651
+ | MessageID | message_recipient.MessageID | number(19) | NN | FK → message |
652
+ | UserID | message_recipient.UserID | number(19) | | FK → user (if recipient is a user) |
653
+ | Email | message_recipient.Email | email(100) | | Direct email address (if not a user) |
654
+ | Type | message_recipient.Type | select(3) | NN | To, CC, BCC |
655
+ | DateSent | message_recipient.DateSent | datetime-local | | |
656
+ | DateReceived | message_recipient.DateReceived | datetime-local | | |
657
+ | _CreatedOn | message_recipient._CreatedOn | datetime-local | NN | |
658
+ | _LastUpdated | message_recipient._LastUpdated | datetime-local | NN | |
659
+
660
+ ---
661
+
662
+ ## message_log
663
+ **Category**: Non-Exportable | **EntityUID**: message_log
664
+
665
+ | Column | UID | Type | Flags | Enum / Notes |
666
+ |--------|-----|------|-------|--------------|
667
+ | ID | message_log.ID | number(19) | PK, AI, NN | |
668
+ | MessageID | message_log.MessageID | number(19) | NN | FK → message |
669
+ | ThreadID | message_log.ThreadID | number(19) | | |
670
+ | Log | message_log.Log | textarea | NN | |
671
+ | Message | message_log.Message | textarea | | |
672
+ | _CreatedOn | message_log._CreatedOn | datetime-local | NN | |
673
+ | _LastUpdated | message_log._LastUpdated | datetime-local | NN | |
674
+
675
+ ---
676
+
677
+ ## message_thread
678
+ **Category**: Non-Exportable | **EntityUID**: message_thread
679
+
680
+ | Column | UID | Type | Flags | Enum / Notes |
681
+ |--------|-----|------|-------|--------------|
682
+ | id | message_thread.id | number(19) | PK, AI, NN | |
683
+ | _CreatedOn | message_thread._CreatedOn | datetime-local | | default=CURRENT_TIMESTAMP |
684
+ | _LastUpdated | message_thread._LastUpdated | datetime-local | | default=CURRENT_TIMESTAMP |
685
+
686
+ ---
687
+
688
+ ## ticket
689
+ **Category**: Non-Exportable | **EntityUID**: ticket
690
+ *Links DBO operations to external issue tracker tickets (via integration).*
691
+
692
+ | Column | UID | Type | Flags | Enum / Notes |
693
+ |--------|-----|------|-------|--------------|
694
+ | ID | ticket.ID | number(19) | PK, AI, NN | |
695
+ | IntegrationID | ticket.IntegrationID | number(19) | NN | FK → integration |
696
+ | Number | ticket.Number | text(50) | NN | Ticket number in external system |
697
+ | Title | ticket.Title | text(255) | | |
698
+ | _CreatedOn | ticket._CreatedOn | datetime-local | NN | |
699
+ | _LastUpdated | ticket._LastUpdated | datetime-local | NN | |
700
+
701
+ ---
702
+
703
+ ## ticket_rel
704
+ **Category**: Non-Exportable | **EntityUID**: ticket_rel
705
+ *Associates a ticket with a specific app version update or revision.*
706
+
707
+ | Column | UID | Type | Flags | Enum / Notes |
708
+ |--------|-----|------|-------|--------------|
709
+ | ID | ticket_rel.ID | number(19) | PK, AI, NN | |
710
+ | TicketID | ticket_rel.TicketID | number(19) | NN | FK → ticket |
711
+ | AppVersionID | ticket_rel.AppVersionID | number(19) | | FK → app_version |
712
+ | AppVersionUpdateID | ticket_rel.AppVersionUpdateID | number(19) | | FK → app_version_update |
713
+ | RevisionID | ticket_rel.RevisionID | number(19) | | FK → revision |
714
+ | _CreatedOn | ticket_rel._CreatedOn | datetime-local | NN | |
715
+ | _LastUpdated | ticket_rel._LastUpdated | datetime-local | NN | |
716
+
717
+ ---
718
+
719
+ ## ticket_lookup_log
720
+ **Category**: Non-Exportable | **EntityUID**: ticket_lookup_log
721
+ *Audit log for ticket lookup operations.*
722
+
723
+ | Column | UID | Type | Flags | Enum / Notes |
724
+ |--------|-----|------|-------|--------------|
725
+ | ID | ticket_lookup_log.ID | number(19) | PK, AI, NN | |
726
+ | ProcedureName | ticket_lookup_log.ProcedureName | text(100) | | default=ticket_lookup |
727
+ | TrackJSON | ticket_lookup_log.TrackJSON | textarea | | |
728
+ | TrackUserUID | ticket_lookup_log.TrackUserUID | text(50) | | |
729
+ | TrackIssueNumber | ticket_lookup_log.TrackIssueNumber | text(50) | | |
730
+ | TrackTitle | ticket_lookup_log.TrackTitle | text(1000) | | |
731
+ | TrackRepository | ticket_lookup_log.TrackRepository | text(50) | | |
732
+ | TicketID | ticket_lookup_log.TicketID | number(19) | | FK → ticket |
733
+ | TicketRepositoryIntegrationID | ticket_lookup_log.TicketRepositoryIntegrationID | number(19) | | |
734
+ | CurrentUserUID | ticket_lookup_log.CurrentUserUID | text(50) | | |
735
+ | CurrentAssetUID | ticket_lookup_log.CurrentAssetUID | text(100) | | |
736
+ | AssetRepositoryIntegrationID | ticket_lookup_log.AssetRepositoryIntegrationID | number(19) | | |
737
+ | AppID | ticket_lookup_log.AppID | number(5) | | |
738
+ | EntityID | ticket_lookup_log.EntityID | number(19) | | |
739
+ | EntityColumnID | ticket_lookup_log.EntityColumnID | number(19) | | |
740
+ | OutputID | ticket_lookup_log.OutputID | number(19) | | |
741
+ | OutputValueID | ticket_lookup_log.OutputValueID | number(19) | | |
742
+ | SecurityID | ticket_lookup_log.SecurityID | number(19) | | |
743
+ | ErrorMessage | ticket_lookup_log.ErrorMessage | textarea | | |
744
+ | ExecutionDuration | ticket_lookup_log.ExecutionDuration | number(12) | | |
745
+ | _DeleteOn | ticket_lookup_log._DeleteOn | datetime-local | | |
746
+ | _CreatedOn | ticket_lookup_log._CreatedOn | datetime-local | | default=CURRENT_TIMESTAMP |
747
+ | _LastUpdated | ticket_lookup_log._LastUpdated | datetime-local | | default=CURRENT_TIMESTAMP |
748
+
749
+ ---
750
+
751
+ ## revision
752
+ **Category**: Non-Exportable | **EntityUID**: revision
753
+ *Audit trail for all changes to exportable assets.*
754
+
755
+ | Column | UID | Type | Flags | Enum / Notes |
756
+ |--------|-----|------|-------|--------------|
757
+ | ID | revision.ID | number(19) | PK, AI, NN | |
758
+ | Operation | revision.Operation | select(6) | NN | Add, Edit, Delete, Rollback, Index, Child |
759
+ | AssetID | revision.AssetID | number(19) | NN | ID of the changed asset |
760
+ | AssetUID | revision.AssetUID | text(100) | NN | UID of the changed asset |
761
+ | AssetEntityID | revision.AssetEntityID | number(19) | NN | FK → entity (what type of asset) |
762
+ | AssetAppID | revision.AssetAppID | number(5) | | FK → app |
763
+ | AssetBinID | revision.AssetBinID | number(19) | | FK → bin |
764
+ | AssetName | revision.AssetName | text(255) | | |
765
+ | AssetDescription | revision.AssetDescription | textarea | | |
766
+ | AssetActive | revision.AssetActive | select(1) | NN | |
767
+ | AssetPublic | revision.AssetPublic | select(1) | NN | |
768
+ | AssetDisplayTitle | revision.AssetDisplayTitle | text(255) | | |
769
+ | AssetDisplaySubtitle | revision.AssetDisplaySubtitle | text(255) | | |
770
+ | AssetDisplayAttributes | revision.AssetDisplayAttributes | text(255) | | |
771
+ | AssetPreview | revision.AssetPreview | textarea | | |
772
+ | AssetOrder | revision.AssetOrder | number(10) | | |
773
+ | AssetCode | revision.AssetCode | textarea | | Stores the asset's code/markup snapshot |
774
+ | AssetObject | revision.AssetObject | textarea | | JSON representation of asset |
775
+ | AssetStatus | revision.AssetStatus | text(255) | | |
776
+ | AssetLastUpdatedUserID | revision.AssetLastUpdatedUserID | number(19) | | |
777
+ | AssetLastUpdatedTicketID | revision.AssetLastUpdatedTicketID | number(19) | | |
778
+ | PrimaryAssetID | revision.PrimaryAssetID | number(19) | | |
779
+ | PrimaryAssetEntityID | revision.PrimaryAssetEntityID | number(19) | | |
780
+ | PrimaryAssetUID | revision.PrimaryAssetUID | text(255) | | |
781
+ | ParentAssetID | revision.ParentAssetID | number(19) | | |
782
+ | ParentAssetEntityID | revision.ParentAssetEntityID | number(19) | | |
783
+ | ParentAssetUID | revision.ParentAssetUID | text(255) | | |
784
+ | ForeignKeyAssetUIDs | revision.ForeignKeyAssetUIDs | text(255) | | |
785
+ | AssetCreatedOn | revision.AssetCreatedOn | datetime-local | NN | |
786
+ | AssetLastUpdated | revision.AssetLastUpdated | datetime-local | NN | |
787
+ | AppVersionUpdateID | revision.AppVersionUpdateID | number(19) | | FK → app_version_update |
788
+ | _CreatedOn | revision._CreatedOn | datetime-local | NN | |
789
+ | _LastUpdated | revision._LastUpdated | datetime-local | NN | |
790
+
791
+ ---
792
+
793
+ ## schema
794
+ **Category**: Non-Exportable | **EntityUID**: schema
795
+ *Database schema (namespace) within a data source.*
796
+
797
+ | Column | UID | Type | Flags | Enum / Notes |
798
+ |--------|-----|------|-------|--------------|
799
+ | SchemaID | schema.SchemaID | number(19) | PK, AI, NN | |
800
+ | UID | schema.UID | text(50) | NN | |
801
+ | AppID | schema.AppID | number(5) | | FK → app |
802
+ | DataSourceID | schema.DataSourceID | number(19) | NN | FK → data_source |
803
+ | PhysicalName | schema.PhysicalName | text(50) | NN | |
804
+ | DisplayName | schema.DisplayName | text(50) | NN | |
805
+ | _CreatedOn | schema._CreatedOn | datetime-local | NN | |
806
+ | _LastUpdated | schema._LastUpdated | datetime-local | NN | |
807
+
808
+ ---
809
+
810
+ ## app_version
811
+ **Category**: Non-Exportable | **EntityUID**: app_version
812
+
813
+ | Column | UID | Type | Flags | Enum / Notes |
814
+ |--------|-----|------|-------|--------------|
815
+ | AppVersionID | app_version.AppVersionID | number(19) | PK, AI, NN | |
816
+ | UID | app_version.UID | text(50) | NN | |
817
+ | AppID | app_version.AppID | number(5) | NN | FK → app |
818
+ | Number | app_version.Number | number(8,4) | NN | Version number |
819
+ | Name | app_version.Name | text(50) | | |
820
+ | Description | app_version.Description | text(255) | | |
821
+ | Type | app_version.Type | select(7) | | Install, Update |
822
+ | Published | app_version.Published | select(1) | NN | default=0 |
823
+ | ReleaseDate | app_version.ReleaseDate | datetime-local | | |
824
+ | InstallDate | app_version.InstallDate | datetime-local | | |
825
+ | Build | app_version.Build | number(10) | | |
826
+ | AppMediaID | app_version.AppMediaID | number(19) | | FK → media |
827
+ | _CreatedOn | app_version._CreatedOn | datetime-local | NN | |
828
+ | _LastUpdated | app_version._LastUpdated | datetime-local | NN | |
829
+ | _LastUpdatedUserID | app_version._LastUpdatedUserID | number(19) | | |
830
+
831
+ ---
832
+
833
+ ## app_version_media_rel
834
+ **Category**: Non-Exportable | **EntityUID**: app_version_media_rel
835
+
836
+ | Column | UID | Type | Flags | Enum / Notes |
837
+ |--------|-----|------|-------|--------------|
838
+ | AppVersionMediaRelID | app_version_media_rel.AppVersionMediaRelID | number(19) | PK, AI, NN | |
839
+ | AppVersionID | app_version_media_rel.AppVersionID | number(19) | NN | FK → app_version |
840
+ | MediaID | app_version_media_rel.MediaID | number(19) | NN | FK → media |
841
+ | _CreatedOn | app_version_media_rel._CreatedOn | datetime-local | NN | |
842
+ | _LastUpdated | app_version_media_rel._LastUpdated | datetime-local | NN | |
843
+
844
+ ---
845
+
846
+ ## app_version_update
847
+ **Category**: Non-Exportable | **EntityUID**: app_version_update
848
+ *Records each change included in an app version.*
849
+
850
+ | Column | UID | Type | Flags | Enum / Notes |
851
+ |--------|-----|------|-------|--------------|
852
+ | AppVersionUpdateID | app_version_update.AppVersionUpdateID | number(19) | PK, AI, NN | |
853
+ | UID | app_version_update.UID | text(50) | NN | |
854
+ | AppVersionID | app_version_update.AppVersionID | number(19) | | FK → app_version |
855
+ | AppID | app_version_update.AppID | number(5) | | FK → app |
856
+ | EntityUID | app_version_update.EntityUID | text(50) | NN | UID of the entity type changed |
857
+ | EntityName | app_version_update.EntityName | text(50) | NN | |
858
+ | EntityRowUID | app_version_update.EntityRowUID | text(100) | NN | UID of the specific changed record |
859
+ | Operation | app_version_update.Operation | select(6) | NN | Add, Edit, Delete |
860
+ | ReleaseDate | app_version_update.ReleaseDate | datetime-local | | |
861
+ | RevisionID | app_version_update.RevisionID | number(19) | | FK → revision |
862
+ | _CreatedOn | app_version_update._CreatedOn | datetime-local | NN | |
863
+ | _LastUpdated | app_version_update._LastUpdated | datetime-local | NN | |
864
+
865
+ ---
866
+
867
+ ## data_source_type_data_type_rel
868
+ **Category**: Non-Exportable | **EntityUID**: data_source_type_data_type_rel
869
+ *Maps data source types to their supported data types.*
870
+
871
+ | Column | UID | Type | Flags | Enum / Notes |
872
+ |--------|-----|------|-------|--------------|
873
+ | DataSourceTypeDataTypeRelID | data_source_type_data_type_rel.DataSourceTypeDataTypeRelID | number(10) | PK, NN | |
874
+ | DataSourceTypeID | data_source_type_data_type_rel.DataSourceTypeID | number(10) | NN | |
875
+ | DataTypeID | data_source_type_data_type_rel.DataTypeID | number(10) | NN | |
876
+ | DataType | data_source_type_data_type_rel.DataType | text(50) | NN | |
877
+ | _CreatedOn | data_source_type_data_type_rel._CreatedOn | datetime-local | NN | |
878
+ | _LastUpdated | data_source_type_data_type_rel._LastUpdated | datetime-local | NN | |