我目前正在尝试将djongo与CosmosDB数据库一起使用,因为 CosmosDB 集成了 MongoDB API。
我启用了“聚合管道”和“3.4 有线协议”,因为 Djongo 需要 MongoDB 3.4 才能工作。
使用此设置,我无法通过初始 django 迁移。我对本地 MongoDB 实例没有任何问题。
这是运行时的 djongo 输出python manage.py migrate
:
djongo.sql2mongo.SQLDecodeError: FAILED SQL: CREATE TABLE "django_migrations" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "app" char NOT NULL, "name" char NOT NULL, "applied" datetime NOT NULL)
Pymongo error: OrderedDict([('_t', 'OKMongoResponse'), ('ok', 0), ('code', 48), ('errmsg', "a collection 'iot_data.__schema__' already exists"), ('$err', "a collection 'iot_data.__schema__' already exists")])
我可以在 CosmosDB 的数据浏览器中看到已经创建了两个集合:但是是空的__schema__
。django_migrations
django_migrations
我以前没有使用 no-sql 的经验,所以也许我误解了一些东西。
我不知道是否有人已经尝试将 Djongo 与 CosmosDB 数据库一起使用,但我们将不胜感激:)