i have following class in python , using cqlengine object mapper cassandra db,
class company(model): id = columns.integer(index=true, primary_key=true) company_name = columns.text(required=false) created_at = columns.datetime(default=datetime.now) class social(model): id = columns.integer(index=true, primary_key=true) name = columns.text(required=false) class usercompany(model): id = columns.integer(index=true, primary_key=true) user_id = columns.integer(required=true) company_id = columns.integer(required=true) array_of_tables=[usercompany, company, social] table in array_of_tables: sync_table(table)
issue: not able create more 2 table in cassandra while executing code.
erorr message:
file "test.py", line 109, in <module> create_tables() file "test.py", line 68, in create_tables sync_table(table) file "/usr/lib64/python2.6/site-packages/cassandra/cqlengine/management.py", line 259, in sync_table execute(qs) file "/usr/lib64/python2.6/site-packages/cassandra/cqlengine/connection.py", line 171, in execute result = session.execute(query, params, timeout=timeout) file "cassandra/cluster.py", line 1602, in cassandra.cluster.session.execute (cassandra/cluster.c:27334) file "cassandra/cluster.py", line 3347, in cassandra.cluster.responsefuture.result (cassandra/cluster.c:65206) cassandra.invalidrequest: code=2200 [invalid query] message="cannot create secondary index on partition key column id"
need in resolving issue.
setting index primary column not allowed. removed code , worked. should below. here, used uuid instead of integer still that's anyway not relevant actual issue.
class company(model): id = columns.uuid(default=uuid.uuid1(), primary_key=true)) company_name = columns.text(required=false) created_at = columns.datetime(default=datetime.now) class social(model): id = columns.uuid(default=uuid.uuid1(), primary_key=true) name = columns.text(required=false) class usercompany(model): id = columns.uuid(default=uuid.uuid1(), primary_key=true) user_id = columns.integer(required=true) company_id = columns.integer(required=true) array_of_tables=[usercompany, company, social] table in array_of_tables: sync_table(table)
Comments
Post a Comment