Skip to content

synodriver/nonebot_plugin_navicat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nonebot_plugin_navicat

pypi implementation wheel python license

功能

  • 对外暴露出数据库连接 支持mysql mongodb redis

开始使用

必须使用 pip

  • 通过 pip 从 PyPI 安装
pip install nonebot-plugin-navicat
  • 我全都要
pip install nonebot-plugin-navicat[all]
  • 要使用mysql
pip install nonebot-plugin-navicat[mysql]
  • 要使用postgresql
pip install nonebot-plugin-navicat[postgresql]
  • 要使用sqlite
pip install nonebot-plugin-navicat[sqlite]
  • 要使用mongodb
pip install nonebot-plugin-navicat[mongodb]
  • 要使用redis
pip install nonebot-plugin-navicat[redis]
  • 要使用elasticsearch
pip install nonebot-plugin-navicat[elasticsearch]
  • 在 nonebot2 项目中设置 load_plugin()
nonebot.load_plugin('nonebot_plugin_navicat')
  • 参照下文在 nonebot2 项目的环境文件 .env.* 中添加配置项

配置项

配置数据库连接

# mysql 如果有MYSQL_HOST则表示要进行mysql连接
MYSQL_HOST=
MYSQL_PORT=
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_DB=

# postgresql 如果有PGSQL_HOST则表示要进行postgresql连接
PGSQL_HOST=
PGSQL_PORT=
PGSQL_USER=
PGSQL_PASSWORD=
PGSQL_DB=

# sqlite 如果有SQLITE_HOST则表示要进行sqlite连接 这里是路径
SQLITE_HOST=

# mongodb 如果有MONGODB_HOST则表示要进行mongodb连接
MONGODB_HOST=
MONGODB_PORT=
MONGODB_USER=
MONGODB_PASSWORD=

# redis 如果有REDIS_HOST则表示要进行redis连接
REDIS_PARAMS={"decode_responses":true}
REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=
REDIS_DB=

# redis sentinel 如果有REDIS_SENTINEL_PARAMS则表示要进行redis sentinel连接
REDIS_SENTINEL_PARAMS=
REDIS_SENTINEL_SERVICE_NAME=    # 必填

# redis cluster 如果有REDIS_CLUSTER_PARAMS则表示要进行redis cluster连接
REDIS_CLUSTER_PARAMS=
REDIS_CLUSTER_NODES=
# 集群没有db选项

# elasticsearch 如果有ELASTICSEARCH_PARAMS则表示要进行elasticsearch连接
ELASTICSEARCH_PARAMS=
ELASTICSEARCH_HOSTS=


# 以后会加入更多数据库支持

导出给其他插件

from nonebot import require

require("nonebot_plugin_navicat")
import nonebot_plugin_navicat as export # 兼容老写法,不至于大改

export.mysql_pool # mysql的

export.pgsql_pool # postgresql的

export.sqlite_pool # sqlite的

export.mongodb_client # mongodb的

export.redis_client # redis的
export.redis_sentinel
export.redis_cluster

export.elasticsearch # elasticsearch的

直接查询数据库 (0.2.0中已删除)

  • 危险功能! 在配置中启用NAVICAT_EXECUTE_SQL=true来开启
  • 使用方法:发送super ${dbname} + sql来查询
super mysql
show databases

更新记录

  • v0.4.0 breaking 使用异步redis库

  • v0.3.0rc1 适配nonebot rc版本

  • v0.2.3 修复beta2的bug

  • v0.2.1 加入了对redis哨兵和集群的支持,对elasticsearch的支持

  • v0.2.0 使用 databases 代替直接连接,有了广泛的通用性

  • 移除了直接命令行查询数据库的功能,迁移到了单独的一个插件里面 nonebot-plugin-super

特别感谢

优化建议

  • bug report
  • more databases support

About

database plugin for nonebot2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages