Guest User

Untitled

a guest
Dec 3rd, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. import logging
  2.  
  3. from cassandra import AlreadyExists
  4. from cassandra.auth import PlainTextAuthProvider
  5. from cassandra.cluster import Cluster
  6. from cassandra.cqlengine import columns, connection, management, models, query
  7. from cassandra.cqlengine.connection import log as cql_logger
  8.  
  9.  
  10. def set_cql_logger():
  11. """activate cql engine logger
  12. """
  13. cql_logger.setLevel(logging.DEBUG)
  14. _formatter = logging.Formatter('%(message)s')
  15. _handler = logging.StreamHandler()
  16. _handler.setFormatter(_formatter)
  17. cql_logger.addHandler(_handler)
  18.  
  19.  
  20. class City(models.Model):
  21. """date model
  22. """
  23. country = columns.Text(primary_key=True)
  24. city = columns.Text(primary_key=True)
  25. population = columns.Integer()
  26. gdp = columns.Integer()
  27.  
  28.  
  29. def sync_db():
  30. """sync database
  31. """
  32. auth = PlainTextAuthProvider(username='cassandra', password='cassandra')
  33. cluster = Cluster(['db_server'], auth_provider=auth)
  34. db_session = cluster.connect()
  35. keyspace = 'testing'
  36. try:
  37. db_session.execute(
  38. 'CREATE KEYSPACE %s WITH replication = '
  39. "{'class': 'SimpleStrategy', 'replication_factor': '1'} "
  40. 'AND durable_writes = true;' % keyspace)
  41. except AlreadyExists:
  42. pass
  43.  
  44. db_session.set_keyspace(keyspace)
  45. connection.set_session(db_session)
  46. management.sync_table(City)
  47.  
  48.  
  49. def main():
  50. sync_db()
  51. set_cql_logger()
  52. from IPython import embed; embed()
  53.  
  54.  
  55. if __name__ == '__main__':
  56. main()
Add Comment
Please, Sign In to add comment