Multi-instance phone/SMS provider migration

FeatureInitializerService
Ya
24 Aprili 2026, 22:20 UTC
Mwandishi
Kamo
Ahadi ya
9064c22

Runs after Hibernate ddl-auto:update creates new tables (VOIP_PROVIDER_INSTANCE, BULK_TEXT_PROVIDER_INSTANCE, PHONE_EXTENSION, PHONE_END_USER, PHONE_DEVICE, PHONE_VOICEMAIL, SYSTEM_CONFIGURATION) from the renamed/new entities in kamo-shared-library commit 232d731. Handles what Hibernate cannot: - Copy rows from legacy voip_provider_config / bulk_text_provider_config into new *_instance tables, synthesizing instance_name from provider type. - Drop NOT_CONFIGURED (ordinal 0) rows — absence is now the "no provider" state. - Drop the now-empty legacy *_config tables. - Backfill instance_id on member_voip_config, voip_conversations, and kamotokens.org_oauth_token using each org's oldest active instance. - Rebuild org_oauth_token unique index from (org_id, provider) to (org_id, provider, instance_id) so multiple RingCentral instances per org work. - Drop orphan unique indexes from voip_conversations + provider instance tables. - Seed the system_configuration singleton row (voip sync interval 10min default, enabled true) — platform operator configures this via the new platform config VOIP & SMS tab. All statements idempotent; re-running on already-migrated DB is safe. Order 20 — after SchemaCleanupRunner (1), OrganizationTypeRemovalRunner (2), KamoCRMAgeReqUpdateRunner (10).

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei