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. 

{
            plain = disk->readFile(data_path, read_settings_.adjustBufferSize(file_size));
            if (offset)
                plain->seek(offset, SEEK_SET);
            if (limited_by_file_size)
            {
                limited.emplace(*plain, file_size - offset, false);
                compressed.emplace(*limited);
            }
            else
                compressed.emplace(*plain);
        }
        std::unique_ptr<ReadBufferFromFileBase> plain;
        std::optional<LimitReadBuffer> limited;
        std::optional<CompressedReadBuffer> compressed;
    };
    using FileStreams = std::map<String, Stream>;
    FileStreams streams;
    using DeserializeState = ISerialization::DeserializeBinaryBulkStatePtr;
    using DeserializeStates = std::map<String, DeserializeState>;
    DeserializeStates deserialize_states;
    void readData(const NameAndTypePair & name_and_type, ColumnPtr & column, size_t max_rows_to_read, ISerialization::SubstreamsCache & cache);
    bool isFinished();
};
Chunk LogSource::generate()