https://cirrus-ci.com/task/5603470202896384?logs=ci#L2681
for (auto& desc_spkm  data.desc_spkms) {
        if (m_spk_managers.count(desc_spkm->GetID()) > 0) {
            error = _("Error Duplicate s created during migration. Your  may be corrupted.");
            return false;
        }
        m_spk_managers[desc_spkm->GetID()] = stdmove(desc_spkm);
    }
    // Remove the LegacyScriptPubKeyMan from disk
    if (!legacy_spkm->DeleteRecords()) {
        return false;
    }
    // Remove the LegacyScriptPubKeyMan from memory
    m_spk_managers.erase(legacy_spkm->GetID());
    m_external_spk_managers.clear();
    m_internal_spk_managers.clear();
    // Setup new s
    SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
    if (!IsWalletFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS)) {
        // Use the existing master key if we have it
        if (data.master_key.key.IsValid()) {
            SetupDescriptorScriptPubKeyMans(data.master_key);
        } else {
            // Setup wit
            SetupDescriptorScriptPubKeyMans();
        }
    }
    // Check if the transactions in th are still ours. Either they belong here, or they belong in the wa.
    // We need to go through these in the tx insertion order so that lookups to spends works.
    stdvector<uint256> txids_to_delete;
    for (const auto& [_pos, wtx]  wtxOrdered) {