data-dwh-dbt-project/macros/user_migration_configuration.sql
Oriol Roqué Paniagua b3620cc695 Merged PR 2920: Adapt user migration configuration to take into account V2 migrated users
# Description

Prepares setup to automatically detect V2 migrated users from old dash to new dash by using the new claim type KygMoveDate.

# Checklist

- [X] The edited models and dependants run properly with production data. **Works well with current setup but there's no migrated users yet. We'll need to double check once the launch date has happened**
- [ ] The edited models are sufficiently documented. **N/A**
- [ ] The edited models contain PK tests, and I've ran and passed them. **N/A**
- [ ] I have checked for DRY opportunities with other models and docs. **N/A**
- [ ] I've picked the right materialization for the affected models. **N/A**

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #20810
2024-09-20 10:42:12 +00:00

49 lines
1.9 KiB
SQL

/*
Macro: get_new_dash_migration_phases_configuration
Provides a general configuration for the different phases of the
New Dash migration. Each phase is identifiable via a phase_name,
that is the "expected display" for users. The assumption is that
each user migration is identified via claim_type. Lastly, we
apply here a hardcode of when the deployment was carried out.
Important note: if a user migrates once a phase has started, we
will not be able to tell when that happened. However, it is likely
that other indicators will provide an estimate. For example:
The migration A happens on 1st July 2024.
User A is migrated on 1st July 2024 (as expected)
User B is migrated on 10th July 2024 (not expected)
It is likely that User B won't have Bookings from new dash
until it's migrated. So this migration date should be considered
as a hard, lower-limit of dates.
If a user satisfies more than one valid claims, in order to ensure
that the good date is considered we use the claim_enforcement_priority
value to force that a certain claim type will have precedence over
another. The lower the value, the more priority.
*/
{% macro get_new_dash_migration_phases_config() %}
{% set migration_phases = [
{
"phase_name": "MVP",
"claim_type": "KYGMVP",
"default_deployment_date": "2024-07-30",
"claim_enforcement_priority": 2,
},
{
"phase_name": "MVP",
"claim_type": "MVPMIGRATEDUSER",
"default_deployment_date": "2024-09-10",
"claim_enforcement_priority": 1,
},
{
"phase_name": "V2",
"claim_type": "KYGMOVEDATE",
"default_deployment_date": "2024-10-08",
"claim_enforcement_priority": 0,
},
] %}
{{ return(migration_phases) }}
{% endmacro %}