创建数据库配置

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

# 配置解释

  • print_sql

    • 是否在执行之前打印 sql 语句 默认 False,通过使用self.set_field('print_sql', True)"设置
  • 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配置参数
  • adapter

    • 适配器,用于查询时的高级操作,你可以参考位于 aestate.work.Adapter.LanguageAdapter去编写自定义的语法用于筛选过滤,这里给出一个示例:
# 使用双下划线用于对自定义的适配器进行调用
r6 = demo.orm.find().where(name__love='a').end()
1
2
Last Updated: 5/10/2023, 3:05:26 PM