toga-ai 1.0.63 → 1.0.64
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.
|
@@ -6,7 +6,7 @@ project: Database Changes
|
|
|
6
6
|
client: shared
|
|
7
7
|
type: architecture
|
|
8
8
|
status: active
|
|
9
|
-
updated: 2026-06-
|
|
9
|
+
updated: 2026-06-12
|
|
10
10
|
owners: [jcardinal]
|
|
11
11
|
files:
|
|
12
12
|
- Core/
|
|
@@ -41,15 +41,22 @@ is the intended execution order.
|
|
|
41
41
|
ticket number — e.g. `2026-06-04 - RecursiveItemFulfillmentPut.sql`,
|
|
42
42
|
`2024-11-27 49875 AddAdminNoteToSalesOrderTable.sql`. The phrase is informational; only
|
|
43
43
|
the leading date governs order.
|
|
44
|
-
3. **
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
3. **Mandatory letter suffix (going forward):** every new file **must** append a lower-case
|
|
45
|
+
letter directly after the date — `a` for the first file of that day in a folder, then `b`,
|
|
46
|
+
`c`, … for each subsequent file, in creation/run order. This makes same-day execution order
|
|
47
|
+
explicit and unambiguous for **every** file, not just when a conflict happens to arise —
|
|
48
|
+
e.g. `2026-06-12a - Description.sql`, then `2026-06-12b - Description.sql`. The letter sits
|
|
49
|
+
right after the date so the alphabetical sort stays correct.
|
|
50
|
+
|
|
51
|
+
> **History note:** older files predate this rule and are inconsistent — some have no letter
|
|
52
|
+
> (`2024-05-16.sql`), some start at `b` (`2024-05-16b.sql`), some skip letters
|
|
53
|
+
> (`2024-09-11a …`, `2024-09-11c …`). **Do not retroactively rename** them. The mandatory
|
|
54
|
+
> `a`-first rule applies only to files created from **2026-06-12 onward**; when adding a new
|
|
55
|
+
> file to a folder, sequence its letter after whatever already exists for that date.
|
|
49
56
|
|
|
50
57
|
> Naming is loose in punctuation (some files have ` - `, some a bare space, occasionally a
|
|
51
58
|
> trailing-space quirk like `2026-06-03- BLANK_CLIENT_DATABASE.sql`). The **only** hard rule
|
|
52
|
-
> is the leading `YYYY-MM-DD
|
|
59
|
+
> is the leading `YYYY-MM-DD<letter>` so ordering holds.
|
|
53
60
|
|
|
54
61
|
## Folder → database mapping
|
|
55
62
|
|
|
@@ -117,9 +124,11 @@ file inside `HISTORIC` running; **never** add new changes there.
|
|
|
117
124
|
1. Pick the right folder for the target DB: `Core/`, `Logs/`, the shared `Client/` (every
|
|
118
125
|
tenant), a specific `Client_<Name>/`, `Logs_Client/` (every tenant log), or a module under
|
|
119
126
|
`_modules/<module>/`.
|
|
120
|
-
2. Name the file `YYYY-MM-DD - <ShortDescription>.sql` using **today's date
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
2. Name the file `YYYY-MM-DD<letter> - <ShortDescription>.sql` using **today's date** and a
|
|
128
|
+
**mandatory** lower-case letter right after the date. If no file exists for today in that
|
|
129
|
+
folder, start at `a` (e.g. `2026-06-12a - <ShortDescription>.sql`). If files already exist
|
|
130
|
+
for today, use the next free letter after the highest one present (`b`, `c`, …) so yours
|
|
131
|
+
runs after them.
|
|
123
132
|
3. Write **idempotent / forward-only** SQL that is safe to run in alphabetical order after all
|
|
124
133
|
prior files in the folder. Follow `rules/common/security.md` — no credentials in the file.
|
|
125
134
|
4. To make a change reach only module-using clients, put it in `_modules/<module>/` and ensure
|
package/package.json
CHANGED