**Describe the issue**
We have to set macro or to pass explicitly shard and replica name to create table in DatabaseReplicated

{
    for (const auto & table_and_info : additional_info)
    {
        const QualifiedTableName & table = table_and_info.first;
        const TableNamesSet & dependent_tables = table_and_info.second.dependent_database_objects;
        const TableNamesSet & dependencies = table_and_info.second.dependencies;
        DependenciesInfo & maybe_existing_info = main_dependencies_info[table];
        maybe_existing_info.dependent_database_objects.insert(dependent_tables.begin(), dependent_tables.end());
        if (!dependencies.empty())
        {
            if (maybe_existing_info.dependencies.empty())
                maybe_existing_info.dependencies = dependencies;
            else if (maybe_existing_info.dependencies != dependencies)
                throw Exception(ErrorCodes::LOGICAL_ERROR, "Have different dependencies for {}: {} and {}, it's a bug",
                                table, fmt::join(maybe_existing_info.dependencies, ", "), fmt::join(dependencies, ", "));
        }
    }
}
void logAboutProgress(Poco::Logger * log, size_t processed, size_t total, AtomicStopwatch & watch)
{
    if (processed % PRINT_MESSAGE_EACH_N_OBJECTS == 0 || watch.compareAndRestart(PRINT_MESSAGE_EACH_N_SECONDS))
    {
        LOG_INFO(log, "{}%", processed * 100.0 / total);
        watch.restart();
    }
}
TablesLoader::TablesLoader(ContextMutablePtr global_context_, Databases databases_, bool force_restore_, bool force_attach_)