21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
# ircs-system to ircs-prod compatible data migration
|
|
|
|
Goal: migrate old `ircs-system` business data into V3 `ircs-prod` while allowing incompatible runtime tables to be discarded.
|
|
|
|
Required order:
|
|
|
|
1. Back up old `ircs-system` PostgreSQL.
|
|
2. Prepare `ircs-prod` secrets with `scripts/prepare-prod-secrets.ps1`.
|
|
3. Sync `ircs-prod-core` and wait for PostgreSQL, RabbitMQ, Valkey, Elasticsearch, services, and migrator.
|
|
4. Run `scripts/migrate-compatible-data.ps1` once without `-Execute` to compare table presence.
|
|
5. Run `scripts/migrate-compatible-data.ps1 -Execute -TruncateTarget` only when `ircs-prod` has no valuable data.
|
|
6. Rebuild search/index derived state through V3 ops runners after migration.
|
|
|
|
Migration policy:
|
|
|
|
- Copy compatible V1 business tables only.
|
|
- Do not copy `databasechangelog` or `databasechangeloglock`.
|
|
- Do not copy V3 derived audit/outbox/maintenance tables.
|
|
- If a table or column becomes incompatible, prefer explicit table-level skip plus a written note over silent lossy conversion.
|
|
- Existing R2 bucket remains `ircs` so historical media URLs stay valid.
|