**Describe the situation**

The author implemented it but enabled only for DiskS3.
CC @excitoon 
migrateFileToRestorableSchema(source_path);
                    });
                results.push_back(std::move(result));
            }
            else
                migrateToRestorableSchemaRecursive(it->path(), results);
    }
}
void DiskS3::migrateToRestorableSchema()
{
    try
    {
        LOG_INFO(log, "Start migration to restorable schema for disk {}", name);
        Futures results;
        for (const auto & root : data_roots)
            if (exists(root))
                migrateToRestorableSchemaRecursive(root + '/', results);
        for (auto & result : results)
            result.wait();
        for (auto & result : results)
            result.get();
        saveSchemaVersion(RESTORABLE_SCHEMA_VERSION);
    }
    catch (const Exception &)
    {
        tryLogCurrentException(log, fmt::format("Failed to migrate to restorable schema for disk {}", name));
        throw;
    }
}
bool DiskS3::checkObjectExists(const String & source_bucket, const String & prefix) const