【问题标题】:from Sqlite3 to Mysql in django chatbot website从 Sqlite3 到 django 聊天机器人网站中的 Mysql
【发布时间】:2017-09-04 18:59:39
【问题描述】:

i'ev 在网络派系服务器上使用 Django 和 python3 开发了一个聊天机器人网络应用程序。基本上,聊天机器人作为客户服务器与商店的用户进行交互。它使用 REST API 来发布用户输入并使用 GET 来显示聊天机器人输出,并使用 python 文件来处理输入并查找输出。

聊天的工作原理:

1. chatboy.js: 它首先在 API 中发布用户输入,然后运行 ​​python 文件 chabot.py。

2。 chabot.py: 一个连接到 Django 后端 db.sqlite3 和 conversation.sqlite3 的 python 文件。所以它从 db.sqlite3 中选择用户输入,然后在 conversation.sqlite3 中选择匹配的输出。最后,该文件将更新 db.sqlite3 中的聊天机器人输出。

3. chatboy.js: 将获取最后一个聊天机器人输出并显示它。

在开发阶段,当我在本地服务器上测试应用程序时,一切正常,但问题来了,我们在互联网上部署了 Django 项目。大多数情况下,导致申请表停止工作的主要错误是:

    The database is locked

我做了很多研究发现:

  1. sqlite3 不适用于生产,仅适用于小型或独立应用程序。

  2. sqlite3 存在多线程问题。

  3. 不适合实时聊天应用。

有些建议说

  1. 将所有 sqlite3 切换到 Mysql(但是如何?以及如何更改 python 文件中的 sql 查询以适应 Mysql)
  2. 使用像 Reddis 这样的快速键值存储(这是否意味着将其作为我的项目的后端 db 或突出会话.sqlite3?)

请帮助我,因为这非常令人沮丧,而且我很长一段时间都遇到此错误,但我找不到问题的解决方案。

谢谢,

PS:我正在使用 Django 10,python3,sqlite3,web 派系服务器

【问题讨论】:

  • 如果您使用的是 Django,则不需要更改任何查询; ORM 的一大优势是它与数据库无关。
  • @DanielRoseman 谢谢回复,那么最好把数据库形式 sqlite 改成 mysql 吗?

标签: python mysql django sqlite


【解决方案1】:

您只需更新您的设置文件即可将 DATABASES 设置从 sqlite3 更改为 mysql 或 postgresql。但在此之前,您需要在 Webfaction 控制面板中创建一个数据库(更多信息here)。

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多