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. 

bool need_check = true;
            if (auto * replicated_src_table = typeid_cast<StorageReplicatedMergeTree *>(source_table.get()))
            {
                String src_replica = replicated_src_table->findReplicaHavingPart(part_desc->src_part_name, false);
                if (!src_replica.empty())
                {
                    LOG_DEBUG(log, "Found part {} on replica {} of source table, will not check part {} required for {}",
                              part_desc->src_part_name, src_replica, part_desc->new_part_name, entry.znode_name);
                    need_check = false;
                }
            }
            if (need_check)
            {
                LOG_DEBUG(log, "Will check part {} required for {}, because no replicas have it (including replicas of source table)",
                          part_desc->new_part_name, entry.znode_name);
                enqueuePartForCheck(part_desc->new_part_name);
            }
            throw Exception(ErrorCodes::NO_REPLICA_HAS_PART,
                            "Not found part {} (or part covering it) neither source table neither remote replicas",
                            part_desc->new_part_name);
        }
    }
    
    PartDescriptions final_parts;
    Strings final_part_names;
    {
        final_part_names = adding_parts_active_set.getParts();