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

throw Exception("Unbalanced { and } in string with macros: '" + s + "'", ErrorCodes::SYNTAX_ERROR);
        String macro_name = s.substr(begin, end - begin);
        auto it = macros.find(macro_name);
        
        if (it != macros.end() && !info.expand_special_macros_only)
        {
            res += it->second;
            info.expanded_other = true;
        }
        else if (macro_name == "database" && !info.table_id.database_name.empty())
        {
            res += info.table_id.database_name;
            info.expanded_database = true;
        }
        else if (macro_name == "table" && !info.table_id.table_name.empty())
        {
            res += info.table_id.table_name;
            info.expanded_table = true;
        }
        else if (macro_name == "uuid")
        {
            if (info.table_id.uuid == UUIDHelpers::Nil)
                throw Exception("Macro 'uuid' and empty arguments of ReplicatedMergeTree "
                                "are supported only for ON CLUSTER queries with Atomic database engine",
                                ErrorCodes::SYNTAX_ERROR);
            
            
            
            if (info.level)
                throw Exception("Macro 'uuid' should not be inside another macro", ErrorCodes::SYNTAX_ERROR);