Genshin-bots / gsuid_core

💖一套业务逻辑,多个平台支持!异步核心框架GsCore,为插件编写提供完善平台支持、核心数据库统一、复用游戏查询逻辑、网页控制台,支持Bot列表: NoneBot2 & HoshinoBot & ZeroBot & YunZaiBot & Koishi
https://docs.sayu-bot.com
GNU General Public License v3.0
111 stars 16 forks source link

【建议】增加配置使用其他数据库进行数据管理 #69

Open mengluo04 opened 2 months ago

mengluo04 commented 2 months ago

是否考虑将数据保存到数据库,方便迁移和重新部署

KimigaiiWuyi commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

mengluo04 commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

我看用的是sqlalchemy,应该是可以直接迁移到其他数据库的,比如mysql什么的,当然这只是我的猜测

KimigaiiWuyi commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

我看用的是sqlalchemy,应该是可以直接迁移到其他数据库的,比如mysql什么的,当然这只是我的猜测

是的, 理论上是可以的, 更换数据库链接地址即可, 但是没有必要上mysql

mengluo04 commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

我看用的是sqlalchemy,应该是可以直接迁移到其他数据库的,比如mysql什么的,当然这只是我的猜测

是的, 理论上是可以的, 更换数据库链接地址即可, 但是没有必要上mysql

请问在哪里更换数据库链接地址,目前其他服务都在mysql上,不用单开一个mongo服务了

KimigaiiWuyi commented 2 months ago

mongo目前没有在代码中实际使用吧, 目前用的SQLite, 没有额外服务

mengluo04 commented 2 months ago

mongo目前没有在代码中实际使用吧, 目前用的SQLite, 没有额外服务

好的

mengluo04 commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

我看用的是sqlalchemy,应该是可以直接迁移到其他数据库的,比如mysql什么的,当然这只是我的猜测

是的, 理论上是可以的, 更换数据库链接地址即可, 但是没有必要上mysql

DB_PATH = get_res_path() / 'GsData.db'
db_url = str(DB_PATH)
url = f'sqlite+aiosqlite:///{db_url}'
engine = create_async_engine(url, pool_recycle=1500)
async_maker = async_sessionmaker(
    engine, expire_on_commit=False, class_=AsyncSession
)

是这里吧

KimigaiiWuyi commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

我看用的是sqlalchemy,应该是可以直接迁移到其他数据库的,比如mysql什么的,当然这只是我的猜测

是的, 理论上是可以的, 更换数据库链接地址即可, 但是没有必要上mysql

DB_PATH = get_res_path() / 'GsData.db'
db_url = str(DB_PATH)
url = f'sqlite+aiosqlite:///{db_url}'
engine = create_async_engine(url, pool_recycle=1500)
async_maker = async_sessionmaker(
    engine, expire_on_commit=False, class_=AsyncSession
)

是这里吧

对的, 是这里的

mengluo04 commented 2 months ago

大部分绑定数据已经在data/GsData.db中了, 目前用的sqlite 此外所有数据都在data路径下,迁移只需移动该文件夹即可 mongo可能在未来会考虑加入实际代码中

我看用的是sqlalchemy,应该是可以直接迁移到其他数据库的,比如mysql什么的,当然这只是我的猜测

是的, 理论上是可以的, 更换数据库链接地址即可, 但是没有必要上mysql

DB_PATH = get_res_path() / 'GsData.db'
db_url = str(DB_PATH)
url = f'sqlite+aiosqlite:///{db_url}'
engine = create_async_engine(url, pool_recycle=1500)
async_maker = async_sessionmaker(
    engine, expire_on_commit=False, class_=AsyncSession
)

是这里吧

对的, 是这里的

能否加个配置,自行配置数据库链接,默认sqlite3,用其他的数据库自行解决依赖和链接字符串配置

KimigaiiWuyi commented 2 months ago

可以的,但是 估计也就能换mysql, 其他数据库的api差异不小

mengluo04 commented 2 months ago

可以的,但是 估计也就能换mysql, 其他数据库的api差异不小

看了下关系型数据库基本都支持,orm内部自己会处理吧,估计还是mysql和PostgreSQL用的比较多

sgpublic commented 1 month ago

实测连不上mariadb,按理说mariadb几乎等于mysql,而且这网页控制台上配置数据库是下拉框而不是编辑框,难受(