| Line 3... |
Line 3... |
| 3 |
-- POScheduler ages a purchase order off createdAt, and createdAt is the PO date - so a PO reopened after the
|
3 |
-- POScheduler ages a purchase order off createdAt, and createdAt is the PO date - so a PO reopened after the
|
| 4 |
-- auto-close window is immediately older than the window again and the next tick closes it straight back. This
|
4 |
-- auto-close window is immediately older than the window again and the next tick closes it straight back. This
|
| 5 |
-- column records when a PO was reopened; the scheduler ages off that instead when it is set, giving a reopened PO
|
5 |
-- column records when a PO was reopened; the scheduler ages off that instead when it is set, giving a reopened PO
|
| 6 |
-- the same fresh window a new one gets.
|
6 |
-- the same fresh window a new one gets.
|
| 7 |
--
|
7 |
--
|
| 8 |
-- Additive and nullable: existing rows keep behaving exactly as before.
|
8 |
-- Additive and nullable: existing rows keep behaving exactly as before, and code that does not know the column
|
| - |
|
9 |
-- ignores it - so this runs safely BEFORE the release that maps it, and must, because the entity maps it.
|
| - |
|
10 |
--
|
| - |
|
11 |
-- hadb1 is MySQL 5.7, which has no INSTANT add-column, so this rebuilds the table rather than only touching
|
| - |
|
12 |
-- metadata. ~53k rows, seconds. ALGORITHM/LOCK are stated so it fails loudly rather than quietly taking a
|
| - |
|
13 |
-- table lock if that ever stops being true.
|
| 9 |
ALTER TABLE warehouse.purchaseorder
|
14 |
ALTER TABLE warehouse.purchaseorder
|
| 10 |
ADD COLUMN reopenedAt DATETIME NULL COMMENT 'When this PO was last reopened; POScheduler ages from this when set';
|
15 |
ADD COLUMN reopenedAt DATETIME NULL COMMENT 'When this PO was last reopened; POScheduler ages from this when set',
|
| - |
|
16 |
ALGORITHM=INPLACE, LOCK=NONE;
|