Rustyrazorblade通过他的 CQLEngine 教程分支HERE展示了一种简单的方法来完成此任务。
您可以通过在 your_app_project/models/connection.py 中执行以下操作轻松设置连接:
from cqlengine import management
from cqlengine.connection import setup
def connect():
setup(["127.0.0.1", "127.0.1.1", "127.0.1.2"], "tutorial", retry_connect=True)
management.create_keyspace("tutorial", replication_factor=1, strategy_class="SimpleStrategy")
在此示例中:“tutorial”是我们正在使用的键空间,strategy_class是您的 C* 实例正在使用的复制策略,replication_factor是将存储在整个环中的复制数量,127.0.0.1是 Cassandra 集群节点 IP 地址(您可以将其传递给列表或字符串)并且retry_connect指定如果连接失败,您是否希望它尝试重新连接。
从这里开始,新的 C* 用户很容易感到困惑。您可以在同步 C* 表或使用 C* 查询之前随时调用它。
因此,您需要执行以下操作:
from cqlengine.management import sync_table
from models.connection import connect
from models.somemodels import MyCassandraModel
# This will fire off our previously setup 'connect' method
connect()
# This will setup the Model as a table in your C* DB
sync_table(MyCassandraModel)
只要 CQLEngine setup() 正确执行,您甚至可以将其放入 manage.py。