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. 

{
            String file_path_in_backup = data_path_in_backup_fs / fileName(data_file.path);
            if (!backup->fileExists(file_path_in_backup))
                throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, "File {} in backup is required to restore table", file_path_in_backup);
            auto backup_entry = backup->readFile(file_path_in_backup);
            auto in = backup_entry->getReadBuffer();
            auto out = disk->writeFile(data_file.path, max_compress_block_size, WriteMode::Append);
            copyData(*in, *out);
        }
        if (use_marks_file)
        {
            
            size_t num_extra_marks = 0;
            String file_path_in_backup = data_path_in_backup_fs / fileName(marks_file_path);
            if (!backup->fileExists(file_path_in_backup))
                throw Exception(ErrorCodes::CANNOT_RESTORE_TABLE, "File {} in backup is required to restore table", file_path_in_backup);
            size_t file_size = backup->getFileSize(file_path_in_backup);
            if (file_size % (num_data_files * sizeof(Mark)) != 0)
                throw Exception("Size of marks file is inconsistent", ErrorCodes::SIZES_OF_MARKS_FILES_ARE_INCONSISTENT);
            num_extra_marks = file_size / (num_data_files * sizeof(Mark));
            size_t num_marks = data_files[0].marks.size();
            for (auto & data_file : data_files)
                data_file.marks.reserve(num_marks + num_extra_marks);
            std::vector<size_t> old_data_sizes;
            std::vector<size_t> old_num_rows;
            old_data_sizes.resize(num_data_files);
            old_num_rows.resize(num_data_files);
            for (size_t i = 0; i != num_data_files; ++i)
            {
                old_data_sizes[i] = file_checker.getFileSize(data_files[i].path);