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

时间:2016-11-08 19:05:48

标签: templates cassandra environments

我有一个与cassandra有关的代码相关问题。 在dev / qa中,我们有一个1节点的cassandra集群 在stage / prod环境中,我们在一个集群中有多个节点。 相同的群集名称,相同的密钥空间名称,但需要不同的复制因子。

每个人如何管理他们的代码库?下面的例子是当我需要将我的脚本部署到dev / qa时,我们选择了一个简单的reprate因子。 当我们需要进入舞台/ prod部署时......我们现在需要使用具有repl因子= 3的NetworkTopologyStrategy。

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

两个版本:

  • create_keyspace_tables.dev.cql
  • create_keyspace_tables.stg.cql

示例脚本内容,其中我必须处理2个diff复制因子:

    -- 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,

0 个答案:

没有答案