首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cassandra cqlengine未反映模型架构更改-迁移

Cassandra cqlengine未反映模型架构更改-迁移
EN

Stack Overflow用户
提问于 2016-12-27 03:16:34
回答 1查看 404关注 0票数 0

我遵循了cassandra cqlengine教程。

代码语言:javascript
复制
import uuid
from cassandra.cqlengine import columns
from cassandra.cqlengine import connection
from datetime import datetime
from cassandra.cqlengine.management import sync_table
from cassandra.cqlengine.models import Model

class ExampleModel(Model):
    example_id      = columns.UUID(primary_key=True, default=uuid.uuid4)
    example_type    = columns.Integer(index=True)
    created_at      = columns.DateTime()
    description     = columns.Text(required=False)

connection.setup(['127.0.0.1'], "cqlengine", protocol_version=3)
sync_table(ExampleModel)

但是,当我更改模型中的字段时,例如,如果我将字段描述从文本类型更改为整数类型,然后执行sync_table,我看不到更改反映在cassandra的tables模式中。如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2017-01-10 23:05:46

这里有两件事是错误的:

  1. 从概念上讲,您正在尝试架构迁移。用于python的apache Cassandra驱动程序还没有正式支持模式迁移。快速浏览一下this ticket将向您解释我的意思。(注意:您可以向表中添加新列,CQL会正常工作,您的新模式也会得到反映,但严格来说,数据模型中的CQLCQL型数据类型转换必须遵循ALTER类型兼容性,这是here定义的。您尝试从Integer转换为Float的操作不兼容。

到目前为止,用不兼容类型更新模式的唯一解决方案是概述here。我在同一个here上打开了一个单独的讨论。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41335391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档