【问题标题】:Traceback (most recent call last) error after creating database with python/ArangoDB使用 python/ArangoDB 创建数据库后的 Traceback (last last call last) 错误
【发布时间】:2019-06-26 00:45:29
【问题描述】:

所以我创建了一个名为“school”的数据库,它出现在 ArangoDB Web UI 中。但是,在运行我的 app.py 文件后,我在命令提示符中收到以下跟踪错误,这会阻止 python 服务器启动。

注意:我使用 python 驱动程序 pyArango-1.3.2 运行 Python 3.7.3 和 Flask 1.0.2 以连接到 ArangoDB 版本 3.4.6-1

这是我正在使用的相当简单的代码...

from flask import Flask, session, render_template, redirect, flash, url_for, send_from_directory, request
from flask_cors import CORS
from werkzeug.utils import secure_filename
from pyArango.connection import *

conn = Connection(username="root", password="password")

conn.createDatabase(name="school")

db = conn["school"]

知道什么可能导致下面的错误吗?:

  File "C:\Users\username\newproject_v2\newprojectv2\app.py", line 9, in <module>
    conn.createDatabase(name="school")
  File "C:\Users\username\Envs\newprojectv2\lib\site-packages\pyArango\connection.py", line 163, in createDatabase
    raise CreationError(data["errorMessage"], r.content)
pyArango.theExceptions.CreationError: duplicate name. Errors: b'{"error":true,"errorMessage":"duplicate name","code":409,"errorNum":1207}'

【问题讨论】:

    标签: python arangodb


    【解决方案1】:

    我认为您只能创建一次数据库。检查连接是否已经有一个同名的数据库。如果它不存在,则创建一个。 hasDatabase 可以帮到你。

    from flask import Flask, session, render_template, redirect, flash, url_for, send_from_directory, request
    from flask_cors import CORS
    from werkzeug.utils import secure_filename
    from pyArango.connection import *
    
    conn = Connection(username="root", password="password")
    if not conn.hasDatabase("school"):
        conn.createDatabase(name="school")
    
    db = conn["school"]
    

    【讨论】:

    • 这很好用,一开始出现缩进错误,然后意识到我忘了在 conn.CreateDatabase 行之前添加一个选项卡。谢谢@Madhan Varadhodiyil
    猜你喜欢
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多