59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
from peewee import *
|
||
|
|
|
||
|
|
# 连接到 SQLite 数据库,如果文件不存在会自动创建
|
||
|
|
db = SqliteDatabase(fr'{Path(__file__).parent}/database.db')
|
||
|
|
|
||
|
|
import pymysql
|
||
|
|
|
||
|
|
from peewee import *
|
||
|
|
from playhouse.pool import PooledMySQLDatabase
|
||
|
|
|
||
|
|
pymysql.install_as_MySQLdb()
|
||
|
|
|
||
|
|
# 数据库配置
|
||
|
|
db_config = {
|
||
|
|
'database': 'lm',
|
||
|
|
'user': 'lm',
|
||
|
|
'password': 'HhyAsGbrrbsJfpyy',
|
||
|
|
'host': '192.168.1.87',
|
||
|
|
'port': 3306
|
||
|
|
}
|
||
|
|
|
||
|
|
# 全局数据库实例
|
||
|
|
db1 = MySQLDatabase(
|
||
|
|
db_config['database'],
|
||
|
|
user=db_config['user'],
|
||
|
|
password=db_config['password'],
|
||
|
|
host=db_config['host'],
|
||
|
|
port=db_config['port']
|
||
|
|
)
|
||
|
|
|
||
|
|
# class BaseModel(Model):
|
||
|
|
# class Meta:
|
||
|
|
# database = db1
|
||
|
|
#
|
||
|
|
# def save(self, *args, **kwargs):
|
||
|
|
# """在调用 save 时自动连接和关闭(若无事务)"""
|
||
|
|
# db.connect(reuse_if_open=True)
|
||
|
|
# try:
|
||
|
|
# result = super().save(*args, **kwargs)
|
||
|
|
# finally:
|
||
|
|
# # 若当前没有事务且连接仍然打开,则关闭连接
|
||
|
|
# if not db.in_transaction() and not db.is_closed():
|
||
|
|
# db.close()
|
||
|
|
# return result
|
||
|
|
#
|
||
|
|
# @classmethod
|
||
|
|
# def get_or_create(cls, defaults=None, **kwargs):
|
||
|
|
# """在调用 get_or_create 时自动连接和关闭(若无事务)"""
|
||
|
|
# db.connect(reuse_if_open=True)
|
||
|
|
# try:
|
||
|
|
# obj, created = super().get_or_create(defaults=defaults, **kwargs)
|
||
|
|
# finally:
|
||
|
|
# # 若当前没有事务且连接仍然打开,则关闭连接
|
||
|
|
# if not db.in_transaction() and not db.is_closed():
|
||
|
|
# db.close()
|
||
|
|
# return obj, created
|