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

void beforeLoadingMetadata(ContextMutablePtr context, bool force_restore, bool force_attach) override;
    void startupTables(ThreadPool & thread_pool, bool force_restore, bool force_attach) override;
    void shutdown() override;
    friend struct DatabaseReplicatedTask;
    friend class DatabaseReplicatedDDLWorker;
private:
    void tryConnectToZooKeeperAndInitDatabase(bool force_attach);
    bool createDatabaseNodesInZooKeeper(const ZooKeeperPtr & current_zookeeper);
    void createReplicaNodesInZooKeeper(const ZooKeeperPtr & current_zookeeper);
    void checkQueryValid(const ASTPtr & query, ContextPtr query_context) const;
    void recoverLostReplica(const ZooKeeperPtr & current_zookeeper, UInt32 our_log_ptr, UInt32 max_log_ptr);
    std::map<String, String> tryGetConsistentMetadataSnapshot(const ZooKeeperPtr & zookeeper, UInt32 & max_log_ptr);
    ASTPtr parseQueryFromMetadataInZooKeeper(const String & node_name, const String & query);
    String readMetadataFile(const String & table_name) const;
    ClusterPtr getClusterImpl() const;
    void setCluster(ClusterPtr && new_cluster);
    void createEmptyLogEntry(const ZooKeeperPtr & current_zookeeper);
    String zookeeper_path;
    String shard_name;
    String replica_name;
    String replica_path;
    DatabaseReplicatedSettings db_settings;
    zkutil::ZooKeeperPtr getZooKeeper() const;
    std::atomic_bool is_readonly = true;
    std::unique_ptr<DatabaseReplicatedDDLWorker> ddl_worker;
    UInt32 max_log_ptr_at_creation = 0;
    mutable ClusterPtr cluster;
};
}