25 lines
908 B
SQL
25 lines
908 B
SQL
INSERT OR IGNORE INTO `audit_events`
|
|
(`id`, `actor_id`, `action`, `target_type`, `target_id`, `reason`,
|
|
`before_json`, `after_json`, `correlation_id`, `created_at`)
|
|
SELECT 'audit_slug_backfill_' || `id`,
|
|
'system:migration',
|
|
'tenant.slug_backfilled',
|
|
'tenant',
|
|
`id`,
|
|
'旧版短租户 slug 不满足隔离域名契约,按不可变 tenant ID 扩展',
|
|
json_object('slug', `slug`),
|
|
json_object('slug', 'n-' || substr(`id`, -32)),
|
|
'corr_slug_backfill_' || `id`,
|
|
CURRENT_TIMESTAMP
|
|
FROM `tenant_instances`
|
|
WHERE `id` LIKE 'tenant_%'
|
|
AND length(`id`) = 39
|
|
AND (`slug` NOT LIKE 'n-%' OR length(`slug`) <> 34);--> statement-breakpoint
|
|
|
|
UPDATE `tenant_instances`
|
|
SET `slug` = 'n-' || substr(`id`, -32),
|
|
`updated_at` = CURRENT_TIMESTAMP
|
|
WHERE `id` LIKE 'tenant_%'
|
|
AND length(`id`) = 39
|
|
AND (`slug` NOT LIKE 'n-%' OR length(`slug`) <> 34);
|