使用 python/ArangoDB 创建数据库后出现回溯(最近调用最后一次)错误

Traceback (most recent call last) error after creating database with python/ArangoDB

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

注意:我是 运行 Python 3.7.3 和 Flask 1.0.2,使用 python 驱动程序 pyArango-1.3.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}'

我认为您只能创建一次数据库。检查连接是否已经有一个同名的数据库。如果它不存在,则创建一个。 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"]