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. 

ephemeral_locks[i].getUnlockOps(ops);
            }
            if (auto txn = query_context->getZooKeeperMetadataTransaction())
                txn->moveOpsTo(ops);
            delimiting_block_lock->getUnlockOps(ops);
            
            ops.emplace_back(zkutil::makeSetRequest(alter_partition_version_path, "", alter_partition_version_stat.version));
            
            ops.emplace_back(zkutil::makeSetRequest(fs::path(zookeeper_path) / "log", "", -1));
            ops.emplace_back(zkutil::makeCreateRequest(fs::path(zookeeper_path) / "log/log-", entry.toString(), zkutil::CreateMode::PersistentSequential));
            Transaction transaction(*this, NO_TRANSACTION_RAW);
            {
                auto data_parts_lock = lockParts();
                for (auto & part : dst_parts)
                {
                    auto builder = part->data_part_storage->getBuilder();
                    renameTempPartAndReplaceUnlocked(part, transaction, builder, data_parts_lock);
                }
            }
            for (size_t i = 0; i < dst_parts.size(); ++i)
                lockSharedData(*dst_parts[i], false, hardlinked_files_for_parts[i]);
            Coordination::Error code = zookeeper->tryMulti(ops, op_results);
            if (code == Coordination::Error::ZOK)
                delimiting_block_lock->assumeUnlocked();
            else if (code == Coordination::Error::ZBADVERSION)
            {
                
                if (query_context->getZooKeeperMetadataTransaction())
                    throw Exception(
                        "Cannot execute alter, because alter partition version was suddenly changed due to concurrent alter",