创建数据库配置
5/10/2023 配置
在我们的项目目录创建一个名为db_base.py
文件,用于保存我们的全局配置和模板
然后我们来
# 创建一个数据库配置
import pymysql
class MyAdapter(LanguageAdapter):
def __init__(self):
self.funcs['love'] = self.love
def love(self, instance, key, value):
self._like_opera(instance, key, value)
from aestate.work.Config import MySqlConfig
class DatabaseConfig(MySqlConfig):
def __init__(self):
# 设置全局打印sql语句
self.set_field('print_sql', True)
# 设置全局插入语句返回最后一行id
self.set_field('last_id', True)
# 适配器 1.0.4版本更新之后在初始化部分使用,而非super()
self.adapter = MyAdapter()
super(DatabaseConfig, self).__init__(
# 数据库地址
host='localhost',
# 数据库端口
port=3306,
# 数据库名
database='_demo',
# 数据库用户
user='root',
# 数据库密码
password='123456',
# 如果你用的是mysql,那么这里就是pymysql,如果用的是sqlserver,那么这里就应该是pymssql
db_type=pymysql)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 配置解释
print_sql
- 是否在执行之前打印 sql 语句 默认 False,通过使用
self.set_field('print_sql', True)"
设置
- 是否在执行之前打印 sql 语句 默认 False,通过使用
last_id
- 是否需要在 insert 插入操作结束后返回最后一行的行号,默认只返回受影响行数 默认 False
host
- 使用你的目标数据库链接地址,比如本机的用 localhost 或者 127.0.0.1
port
- 端口,mysql 默认 3306,sqlserver 默认 1433
database
- 数据库的名字,比如教程中使用的数据库名字叫做
_demo
- 数据库的名字,比如教程中使用的数据库名字叫做
user
- 链接数据库时所使用的用户名,例如:root
password
- 链接数据库时所使用的用户对应的密码
charset
- 部分驱动不支持 charset 字段,比如 pgsql,如果你使用的是 mysql 或者 sqlserver,你可以在结尾处加上 charset='utf8'
db_type
- 驱动类型,需要先安装你所需要对应的数据库驱动,例如 mysql 需要先安装 pymysql,然后将这个库的名字写成字符串或者
import pymysql
,然后传入pymysql
配置参数
- 驱动类型,需要先安装你所需要对应的数据库驱动,例如 mysql 需要先安装 pymysql,然后将这个库的名字写成字符串或者
adapter
- 适配器,用于查询时的高级操作,你可以参考位于
aestate.work.Adapter.LanguageAdapter
去编写自定义的语法用于筛选过滤,这里给出一个示例:
- 适配器,用于查询时的高级操作,你可以参考位于
# 使用双下划线用于对自定义的适配器进行调用
r6 = demo.orm.find().where(name__love='a').end()
1
2
2