SQLAlchemy创建MySQL引擎_引擎配置 — SQLAlchemy 1.4 Documentation

本文档介绍了SQLAlchemy创建MySQL引擎的配置参数,包括case_sensitive、connect_args、convert_unicode等选项的用途和弃用信息。内容涉及连接池的日志记录、参数传递、Unicode处理、自定义连接创建以及各种连接池设置,如pool_size、pool_recycle等,帮助开发者理解和配置SQLAlchemy与MySQL的交互。
摘要由CSDN通过智能技术生成

case_sensitive¶ -- 如果为false,则结果列名称将以不区分大小写的方式匹配,即, row['SomeColumn'] . .. 已弃用::1.4 create_engine.case_sensitive 参数已弃用,将在将来的版本中删除。应用程序应该以区分大小写的方式处理结果列名。

connect_args¶ -- 将直接传递给DBAPI的选项字典。 connect() 方法作为其他关键字参数。参见中的示例 自定义DBAPI connect()参数/on connect例程 .

convert_unicode=False¶ -- 如果设置为true,则会导致 String 数据类型的作用就像 String.convert_unicode 标志已设置为 True ,无论设置为 False 在个人身上 String 类型。这会导致 String -基于列来直接容纳python unicode对象,就像数据类型是 Unicode 类型。…已弃用::1.3 create_engine.convert_unicode 参数已弃用,将在将来的版本中删除。所有现代DBAPI现在都直接支持PythonUnicode,而这个参数是不必要的。

creator¶ -- 返回DBAPI连接的可调用文件。此创建函数将传递到基础连接池,并将用于创建所有新的数据库连接。使用此函数会导致绕过URL参数中指定的连接参数。这个钩子没有新钩子灵活 DialectEvents.do_connect() 钩子允许完全控制连接到数据库的方式,给定一组完整的URL参数和预先设置的状态。。另请参见: DialectEvents.do_connect() -允许完全控制DBAPI连接机制的事件钩子。 自定义DBAPI connect()参数/on connect例程

echo=False¶ -- 如果为真,引擎将记录所有语句以及 repr() 其参数列表的默认日志处理程序,默认为 sys.stdout 用于输出。如果设置为字符串 "debug" ,结果行也将打印到标准输出。这个 echo 属性 Engine 可以随时修改以打开和关闭日志记录;也可以使用标准的python直接控制日志记录。 logging 模块。…参阅: 配置日志记录 -有关如何配置日志的详细信息。

echo_pool=False¶ -- 如果为true,则连接池将记录信息输出,例如连接失效以及连接回收到默认日志处理程序(默认为 sys.stdout 用于输出。如果设置为字符串 "debug" 日志记录将包括池签出和签入。使用标准的python还可以直接控制日志记录。 logging 模块。…参阅: 配置日志记录 -有关如何配置日志的详细信息。

empty_in_strategy¶ -- 不再使用;SQLAlchemy现在在所有情况下都使用“空集”行为。。已弃用::1.4 create_engine.empty_in_strategy 关键字已弃用,不再有任何效果。All IN表达式现在使用“expanding parameter”策略呈现,该策略在语句执行时呈现一组boundexpressions或“空集”SELECT。

enable_from_linting¶ -- 默认为True。如果发现给定的SELECT语句与将导致笛卡尔积的元素取消链接,则将发出警告。。版本添加::1.4。。另请参见: 从linting内置将在SELECT语句中警告任何潜在的笛卡尔积

encoding¶ -- 默认为 utf-8 . 这是sqlAlchemy用于在sqlAlchemy中发生的字符串编码/解码操作的字符串编码, 在DBAPIs自己的编码设施之外。 .. 注意:: encoding 参数只处理Python中的编码问题,这些问题在python2下的许多dbapi中普遍存在。在python3下,它基本上是未使用的。对于需要客户端编码配置的dbapi,如MySQL和Oracle,请参考 dialect documentation 了解详情。所有在python3中工作的现代dbapi都必须直接支持pythonunicode字符串。在python2下,情况并非总是如此。对于那些检测到DBAPI不支持Python的场景 unicode 对象,此编码用于确定源/目标编码。它是 不使用 对于DBAPI直接处理Unicode的情况。正确配置系统以适应python unicode 对象,dbapi应配置为在适当的情况下最大程度地处理unicode-请参阅unicode上与在处使用的特定目标数据库相关的说明。 方言 . 在几乎总是需要在dbad之外的字符串编码区域下进行编码 仅Python 2 ,包括零个或多个: * the values passed to bound parameters, corresponding to the Unicode type or the String type when convert_unicode is True; * 结果集列中返回的值与 Unicode 类型或 String 当类型 convert_unicode 是 True ; * the string SQL statement passed to the DBAPI's cursor.execute() method; * 传递给DBAPI的绑定参数字典中键的字符串名称 cursor.execute() 以及 cursor.setinputsizes() 方法;*从DBAPI的 cursor.description 属性。当使用python3时,需要DBAPI作为Python来支持上述所有值 unicode 对象,在python 3中称为 str . 在python 2中,dbapi根本没有指定unicode行为,因此sqlAlchemy必须根据每个dbapi为上述每个值做出决策-实现的行为完全不一致。

execution_options¶ -- 将应用于所有连接的字典执行选项。见 Connection.execution_options()

future¶ -- 使用2.0样式 Engine 和 Connection API。。版本添加::1.4。。另请参见: 迁移到Alchemy

hide_parameters¶ -- 布尔值,当设置为True时,SQL语句参数将不会显示在信息日志中,也不会格式化为 StatementError 对象。。版本添加::1.3.8。。另请参见: 配置日志记录 -有关如何配置日志的详细信息。

implicit_returning=True¶ -- 什么时候? True ,如果没有返回()子句发出单行insert语句,则将使用返回兼容的构造(如果可用)来获取新生成的主键值。这适用于支持返回或兼容构造的后端,包括PostgreSQL、Firebird、Oracle、Microsoft SQL Server。设置为 False 禁用自动返回。

json_deserializer¶ -- 支持 JSON 数据类型,这是一个Python可调用函数,它将JSON字符串转换为Python对象。默认情况下,Python json.loads 函数被使用。。versionchanged::1.3.7 SQLite方言将其重命名为 _json_deserializer .

json_serializer¶ -- 支持 JSON 数据类型,这是一个Python可调用函数,它将把给定的对象呈现为JSON。默认情况下,Python json.dumps 函数被使用。。versionchanged::1.3.7 SQLite方言将其重命名为 _json_serializer .

label_length=None¶ -- 可选的整数值,将动态生成的列标签的大小限制为多个字符。如果小于6,标签将生成为“u(计数器)”。如果 None 的价值 dialect.max_identifier_length ,可能会通过 create_engine.max_identifier_length 改为使用参数。价值 create_engine.label_length 可能不大于 create_engine.max_identfier_length . …参阅: create_engine.max_identifier_length

listeners¶ -- 一个或多个列表 PoolListener 将接收连接池事件的对象。

logging_name¶ -- 字符串标识符,将在sqlalchemy.engine“记录器。默认为对象id的十六进制字符串。。另请参见: 配置日志记录 -有关如何配置日志的详细信息。

max_identifier_length¶ -- 整数;重写方言确定的最大标识符长度。如果 None 或者零,没有效果。这是数据库配置的SQL标识符(如表名、列名或标签名)中可以使用的最大字符数。所有方言都会自动确定这个值,但是如果是一个新的数据库版本,这个值已经改变了,但是SQLAlchemy的方言没有被调整,那么这个值可以在这里传递。。版本添加::1.3.9。。另请参见: create_engine.label_length

max_overflow=10¶ -- 允许在连接池中“溢出”的连接数,即可以在池大小设置(默认为5)之上或之外打开的连接数。这只和 QueuePool .

module=None¶ -- 对python模块对象的引用(模块本身,而不是其字符串名称)。指定要由引擎方言使用的备用DBAPI模块。每个子方言引用一个特定的DBAPI,该DBAPI将在第一次连接之前导入。此参数导致忽略导入,而使用给定的模块。可以用于测试DBAPI,也可以将“模拟”的DBAPI实现注入到 Engine .

paramstyle=None¶ -- 这个 paramstyle 在呈现绑定参数时使用。此样式默认为DBAPI本身推荐的样式,从 .paramstyle DBAPI的属性。然而,大多数DBAPI接受多个paramStyle,尤其是将“命名的”paramStyle更改为“位置的”paramStyle可能是可取的,反之亦然。传递此属性时,它应该是其中一个值 "qmark" , "numeric" , "named" , "format" 或 "pyformat" ,并且应该对应于使用中的DBAPI所支持的参数样式。

pool=None¶ -- 已构造的实例 Pool ,比如 QueuePool 实例。如果非“无”,则此池将直接用作引擎的基础连接池,忽略URL参数中存在的任何连接参数。有关手动构造连接池的信息,请参阅 连接池 .

poolclass=None¶ -- 一 Pool 子类,将用于使用URL中给定的连接参数创建连接池实例。注意这与 pool 在这种情况下,您不会实际实例化池,您只需指示要使用的池类型。

pool_logging_name¶ -- 字符串标识符,将在sqlalchemy.pool“记录器。默认为对象id的十六进制字符串。。另请参见: 配置日志记录 -有关如何配置日志的详细信息。

pool_pre_ping¶ -- 如果为真,则布尔值将启用连接池的“预ping”功能,该功能在每次签出时测试连接的活动性。…版本已添加::1.2..参阅: 断开操作-悲观

pool_size=5¶ -- 在连接池中保持打开的连接数。用于此 QueuePool 以及 SingletonThreadPool . 用 QueuePool ,A pool_size 设置为0表示没有限制;要禁用池,请设置 poolclass 到 NullPool 相反。

pool_recycle=-1¶ -- 此设置使池在经过给定秒数后回收连接。它默认为-1,或者没有超时。例如,设置为3600意味着连接将在一小时后循环使用。请注意,如果在8小时内未检测到任何活动,则mysql将自动断开连接(尽管这可以通过mysqldb连接本身和服务器配置进行配置)。…参阅: 设置池回收

pool_reset_on_return='rollback'¶ -- 设置 Pool.reset_on_return 基础的参数 Pool 对象,可以设置为值 "rollback" , "commit" 或 None . …参阅: Pool.reset_on_return

0¶ -- 在放弃从池中获取连接之前等待的秒数。这只和 QueuePool . 这可以是一个float,但是受到Python时间函数的限制,在几十毫秒内可能不可靠。

pool_use_lifo=False¶ --

从中检索连接时使用后进先出 QueuePool 而不是先进先出(先进先出)。使用LIFO,服务器端超时方案可以减少非高峰时段使用的连接数。在计划服务器端超时时,请确保使用回收或预Ping策略来优雅地处理过时的连接。

plugins¶ -- 要加载的插件名称的字符串列表。见 CreateEnginePlugin 作为背景。…添加的版本:1.2.3

query_cache_size¶ -- 用于缓存SQL字符串形式查询的缓存大小。设置为零以禁用缓存。当缓存的大小达到N*1.5时,将从其最近最少使用的项中删除。默认值为500,这意味着缓存在填充时将始终存储至少500条SQL语句,并将增长到750条,此时,通过删除最近最少使用的250条条目,将其修剪回500条。缓存是在每个语句的基础上完成的,方法是生成一个表示语句结构的缓存键,然后仅当缓存中不存在当前方言的字符串SQL。所有语句都支持缓存,但是有些特性(如带有一组大参数的INSERT)将有意绕过缓存。SQL日志记录将显示每个语句的统计信息,无论它是否从缓存中提取。。注意:一些与工作单元持久性相关的ORM函数以及一些属性加载策略将使用主缓存之外的每个映射器缓存。。另请参见: SQL编译缓存 .. 版本添加::1.4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值