HiveNetNoSql.sqlite module

sqlite的HiveNetNoSql实现模块

class HiveNetNoSql.sqlite.SQLiteNosqlDriver(connect_config: dict = {}, pool_config: dict = {}, driver_config: dict = {})[源代码]

基类:HiveNetNoSql.base.driver_fw.NosqlAIOPoolDriver

nosql数据库SQLite驱动

__init__(connect_config: dict = {}, pool_config: dict = {}, driver_config: dict = {})[源代码]

初始化驱动

参数
  • connect_config (dict) –

    default={}, 数据库的连接参数

    host {str} - 数据库文件路径, 或使用”:memory:”在内存上创建数据库

    port {int} - 连接数据库的端口(SQLite无效)

    usedb {str} - 登录后默认切换到的数据库(SQLite无效)

    username {str} - 登录验证用户(SQLite无效)

    password {str} - 登录验证密码(SQLite无效)

    dbname {str} - 登录用户的数据库名(SQLite无效)

    connect_on_init {bool} - 是否启动时直接连接数据库

    connect_timeout {float} - 连接数据库的超时时间, 单位为秒, 默认为20

    default_str_len {int} - 默认的字符串类型长度, 默认为30

    …驱动实现类自定义支持的参数

    transaction_share_cursor {bool} - 进行事务处理是否复用同一个游标对象, 默认为True

    sqlite3.connect 支持的其他参数…

    check_same_thread: 是否控制检查与创建连接的是一个线程

  • pool_config (dict) –

    default={}, 连接池配置

    max_size {int} - 连接池的最大大小, 默认为100

    min_size {int} - 连接池维持的最小连接数量, 默认为0

    max_idle_time {float} - 连接被移除前的最大空闲时间, 单位为秒, 默认为None

    wait_queue_timeout {float} - 在没有空闲连接的时候, 请求连接所等待的超时时间, 单位为秒, 默认为None(不超时)

    …驱动实现类自定义支持的参数

    注: 其他参数为AIOConnectionPool所支持的参数

  • driver_config (dict) –

    default={}, 驱动配置

    init_db {dict} - 要在启动驱动时创建的数据库

    {

    ‘数据库名’: {

    ‘index_only’: False, # 是否仅用于索引, 不创建

    ’comment’: ‘’, # 数据库注释

    ’args’: [], # 创建数据库的args参数

    ’kwargs’: {} #创建数据库的kwargs参数

    }

    }

    init_collections {dict} - 要在启动驱动时创建的集合(表)

    {

    ‘数据库名’: {

    ‘集合名’: {

    ‘index_only’: False, # 是否仅用于索引, 不创建

    ’comment’: ‘’, # 集合注释

    ’indexs’: {索引字典}, ‘fixed_col_define’: {固定字段定义}

    }

    },

    }

    init_yaml_file {str} - 要在启动时创建的数据库和集合(表)配置yaml文件

    注1: 该参数用于将init_db和init_collections参数内容放置的配置文件中, 如果参数有值则忽略前面两个参数

    注2: 配置文件为init_db和init_collections两个字典, 内容与这两个参数一致

    logger {Logger} - 传入驱动的日志对象

    ignore_index_error {bool} - 是否忽略索引创建的异常, 默认为True

    debug {bool} - 指定是否debug模式, 默认为False

    close_action {str} - 关闭连接时自动处理动作, None-不处理, ‘commit’-自动提交, ‘rollback’-自动回滚

async create_db(name: str, *args, **kwargs)[源代码]

创建数据库

注: 创建后会自动切换到该数据库

参数

name (str) – 数据库名

async drop_db(name: str, *args, **kwargs)[源代码]

删除数据库

参数

name (str) – 数据库名

async switch_db(name: str, *args, **kwargs)[源代码]

切换当前数据库到指定数据库

参数

name (str) – 数据库名

class HiveNetNoSql.sqlite.SQLitePoolConnection(pool: HiveNetCore.connection_pool.AIOConnectionPool, creator: Any, args: list = [], kwargs: dict = {}, logger: Optional[logging.Logger] = None)[源代码]

基类:HiveNetCore.connection_pool.PoolConnectionFW

SQLite连接池连接对象