python 2.7 - Unable to create more than two table using sync_table() in cqlengine -


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