Ordinary database engine is deprecated but there is no simple mean to change database engine to Atomic for existing databases.

Possible options:
- ALTER DATABASE MODIFY ENGINE query.
- Flag that triggers migration at ClickHouse startup.

The latter should be easier to implement. 

std::vector<IBackupCoordination::PartNameAndChecksum> part_names_with_hashes;
    part_names_with_hashes.reserve(part_names_with_hashes_calculating.size());
    for (auto & [part_name, hash] : part_names_with_hashes_calculating)
    {
        UInt128 checksum;
        hash.get128(checksum);
        auto & part_name_with_hash = part_names_with_hashes.emplace_back();
        part_name_with_hash.part_name = part_name;
        part_name_with_hash.checksum = checksum;
    }
    
    coordination->addReplicatedPartNames(shared_id, getStorageID().getFullTableName(), getReplicaName(), part_names_with_hashes);
    
    {
        std::vector<IBackupCoordination::MutationInfo> mutation_infos;
        auto zookeeper = getZooKeeper();
        Strings mutation_ids = zookeeper->getChildren(fs::path(zookeeper_path) / "mutations");
        mutation_infos.reserve(mutation_ids.size());
        for (const auto & mutation_id : mutation_ids)
        {
            mutation_infos.emplace_back(
                IBackupCoordination::MutationInfo{mutation_id, zookeeper->get(fs::path(zookeeper_path) / "mutations" / mutation_id)});
        }
        coordination->addReplicatedMutations(shared_id, getStorageID().getFullTableName(), getReplicaName(), mutation_infos);
    }
    
    
    auto post_collecting_task = [shared_id,
                                 replica_name = getReplicaName(),
                                 coordination,