Templates 如何处理环境之间不同的键空间定义?

Templates 如何处理环境之间不同的键空间定义?,templates,cassandra,environments,Templates,Cassandra,Environments,我想问卡桑德拉一个与代码相关的问题。 在dev/qa中,我们有一个单节点cassandra集群 在stage/prod环境中,集群中有多个节点。 相同的集群名称、相同的键空间名称,但需要不同的复制因子 每个人如何管理他们的代码库?下面的一个例子是,当我需要将脚本部署到dev/qa时,我们选择了一个SimpleStregy repl因子。 当我们需要进入阶段/产品部署时。。我们现在需要使用repl因子为3的网络拓扑策略 现在,我被迫部署不同的脚本,或者在脚本中注释掉一行,另一行: 两个版本: 创

我想问卡桑德拉一个与代码相关的问题。 在dev/qa中,我们有一个单节点cassandra集群 在stage/prod环境中,集群中有多个节点。 相同的集群名称、相同的键空间名称,但需要不同的复制因子

每个人如何管理他们的代码库?下面的一个例子是,当我需要将脚本部署到dev/qa时,我们选择了一个SimpleStregy repl因子。 当我们需要进入阶段/产品部署时。。我们现在需要使用repl因子为3的网络拓扑策略

现在,我被迫部署不同的脚本,或者在脚本中注释掉一行,另一行:

两个版本:

  • 创建_keyspace_tables.dev.cql
  • 创建_keyspace_tables.stg.cql
示例脚本内容,其中我必须处理2个不同的复制因素:
更新:我现在了解到cassandra/datastax enterprise实际上允许我使用NetworkTopologyStrategy创建一个KeySACE,即使是使用单个节点。这样,我可以保持键空间代码不变,而不必以这种方式分叉“创建代码”。有人能证实这一行为吗?更新一下:我现在了解到cassandra/datastax enterprise实际上允许我使用NetworkTopologyStrategy创建一个KeySAP,即使只有一个节点。这样,我可以保持键空间代码不变,而不必以这种方式分叉“创建代码”。有人能证实这种行为吗?
    -- dev/qa
    -- CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
    -- stage/prod
    -- CREATE KEYSPACE IF NOT EXISTS mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
    USE mykeyspace;
    CREATE TABLE my_table (
        storeNumber text,
        businessDate timestamp,