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. 

}
    }
    if (entry.type == LogEntry::ATTACH_PART)
    {
        if (MutableDataPartPtr part = attachPartHelperFoundValidPart(entry); part)
        {
            LOG_TRACE(log, "Found valid local part for {}, preparing the transaction", part->name);
            Transaction transaction(*this, NO_TRANSACTION_RAW);
            part->version.setCreationTID(Tx::PrehistoricTID, nullptr);
            auto builder = part->data_part_storage->getBuilder();
            renameTempPartAndReplace(part, transaction, builder);
            checkPartChecksumsAndCommit(transaction, part);
            writePartLog(PartLogElement::Type::NEW_PART, {}, 0 ,
                part->name, part, {} , nullptr);
            return true;
        }
        LOG_TRACE(log, "Didn't find valid local part for {} ({}), will fetch it from other replica",
            entry.new_part_name,
            entry.actual_new_part_name);
    }
    if (is_get_or_attach && entry.source_replica == replica_name)
        LOG_WARNING(log, "Part {} from own log doesn't exist.", entry.new_part_name);
    
    
    if (entry.quorum && getZooKeeper()->exists(fs::path(zookeeper_path) / "quorum" / "failed_parts" / entry.new_part_name))
    {
        LOG_DEBUG(log, "Skipping action for part {} because quorum for that part was failed.", entry.new_part_name);
        return true;    
    }
    switch (entry.type)