Только что установили Cassandra (3.11.1) и драйвер Datastax node.js (3.3.0).

Создана простая структура:

CREATE KEYSPACE CaseBox
   WITH REPLICATION={
     'class': 'SimpleStrategy',
     'replication_factor': 1};
USE CaseBox;

CREATE TABLE Regions (
    regionId int,
    name varchar,
    PRIMARY KEY ((regionId))
);

Попытка подключиться к пространству ключей безуспешно:

const client = new cassandra.Client({
  contactPoints: ['localhost'],
  keyspace: 'CaseBox'
});

await client.connect();

Ошибка: Keyspace 'CaseBox' does not exist. Если я изменю желаемое kayspace на system, это сработает. Что не так? Пожалуйста помогите.

Вы можете найти мою полную конфигурацию Cassandra, сценарии CQL и js здесь.

0
Distagon 16 Ноя 2017 в 07:07

1 ответ

Лучший ответ

При отсутствии кавычек в CQL имена пространств клавиш переводятся в нижний регистр .

Используйте CREATE KEYSPACE "CaseBox" в CQL или keyspace: 'casebox' в Node.

Обычно просто используйте имена snake_case, иначе вы не попадете в такую ​​ловушку так часто.

4
Matt 16 Ноя 2017 в 04:46