当前位置: 首页 > news >正文

口碑营销成功的案例新站seo快速排名 排名

口碑营销成功的案例,新站seo快速排名 排名,app制作公司报价,php能区别电脑网站和手机网站吗怎么嵌入到phpcms文章目录 六、数据库6.1 初始化数据库6.2 使用 Postgresql6.2.1 隔离级别 6.3 使用 CockroachDB 六、数据库 http://docs.peewee-orm.com/en/latest/peewee/database.html PeeweeDatabase对象表示与数据库的连接。该类Database使用打开数据库连接所需的所有信息进行实例化&…

文章目录

  • 六、数据库
    • 6.1 初始化数据库
    • 6.2 使用 Postgresql
      • 6.2.1 隔离级别
    • 6.3 使用 CockroachDB

六、数据库

http://docs.peewee-orm.com/en/latest/peewee/database.html
PeeweeDatabase对象表示与数据库的连接。该类Database使用打开数据库连接所需的所有信息进行实例化,然后可用于:

  • 打开和关闭连接。
  • 执行查询。
  • 管理事务(和保存点)。
  • 内省表、列、索引和约束。
    Peewee 支持 SQLite、MySQL 和 Postgres。每个数据库类都提供了一些基本的、特定于数据库的配置选项。
from peewee import *# SQLite database using WAL journal mode and 64MB cache.
sqlite_db = SqliteDatabase('/path/to/app.db', pragmas={'journal_mode': 'wal','cache_size': -1024 * 64})# Connect to a MySQL database on network.
mysql_db = MySQLDatabase('my_app', user='app', password='db_password',host='10.1.0.8', port=3306)# Connect to a Postgres database.
pg_db = PostgresqlDatabase('my_app', user='postgres', password='secret',host='10.1.0.9', port=5432)

Peewee 通过特定于数据库的扩展模块为 SQLite、Postgres 和 CockroachDB 提供高级支持。要使用扩展功能,请导入适当的特定于数据库的模块并使用提供的数据库类:

from playhouse.sqlite_ext import SqliteExtDatabase# Use SQLite (will register a REGEXP function and set busy timeout to 3s).
db = SqliteExtDatabase('/path/to/app.db', regexp_function=True, timeout=3,pragmas={'journal_mode': 'wal'})from playhouse.postgres_ext import PostgresqlExtDatabase# Use Postgres (and register hstore extension).
db = PostgresqlExtDatabase('my_app', user='postgres', register_hstore=True)from playhouse.cockroachdb import CockroachDatabase# Use CockroachDB.
db = CockroachDatabase('my_app', user='root', port=26257, host='10.1.0.8')# CockroachDB connections may require a number of parameters, which can
# alternatively be specified using a connection-string.
db = CockroachDatabase('postgresql://...')

有关数据库扩展的更多信息,请参见:

  • Postgresql 扩展
  • SQLite 扩展
  • Cockroach数据库
  • Sqlcipher 后端(加密的 SQLite 数据库)。
  • apsw,一个高级的 sqlite 驱动程序
  • SqliteQ

6.1 初始化数据库

初始化方法需要数据库的Database名称作为第一个参数。后续的关键字参数在建立连接时传递给底层数据库驱动程序,允许您轻松传递特定于供应商的参数。

例如,对于 Postgresql,通常需要在创建连接时指定host, user和。password这些不是标准的 Peewee参数,所以在创建连接时Database会直接传回 :psycopg2

db = PostgresqlDatabase('database_name',  # Required by Peewee.user='postgres',  # Will be passed directly to psycopg2.password='secret',  # Ditto.host='db.mysite.com')  # Ditto.

作为另一个示例,pymysql驱动程序接受charset不是标准 Peewee参数的Database参数。要设置此值,只需charset与其他值一起传入:

db = MySQLDatabase('database_name', user='www-data', charset='utf8mb4')

有关可用参数,请参阅数据库驱动程序的文档:

  • Postgres:psycopg2
  • MySQL:MySQL数据库
  • MySQL:pymysql
  • SQLite:sqlite3
  • CockroachDB:参见psycopg2

6.2 使用 Postgresql

要连接到 Postgresql 数据库,我们将使用 PostgresqlDatabase. 第一个参数始终是数据库的名称,之后您可以指定任意psycopg2 参数。

psql_db = PostgresqlDatabase('my_database', user='postgres')class BaseModel(Model):"""A base model that will use our Postgresql database"""class Meta:database = psql_dbclass User(BaseModel):username = CharField()

Playhouse,Peewee的扩展包含一个Postgresql 扩展模块,它提供了许多 postgres 特定的功能,例如:

  • 数组
  • HStore
  • JSON
  • 服务器端游标
  • 更多!
    如果您想使用这些很棒的功能,请使用 PostgresqlExtDatabase模块中的playhouse.postgres_ext:
from playhouse.postgres_ext import PostgresqlExtDatabasepsql_db = PostgresqlExtDatabase('my_database', user='postgres')

6.2.1 隔离级别

从 Peewee 3.9.7 开始,可以使用以下符号常量将隔离级别指定为初始化参数psycopg2.extensions:

from psycopg2.extensions import ISOLATION_LEVEL_SERIALIZABLEdb = PostgresqlDatabase('my_app', user='postgres', host='db-host',isolation_level=ISOLATION_LEVEL_SERIALIZABLE)

笔记

在旧版本中,您可以手动设置底层 psycopg2 连接的隔离级别。这可以一次性完成:

db = PostgresqlDatabase(...) 
conn = db.connection()  # returns current connection.from psycopg2.extensions import ISOLATION_LEVEL_SERIALIZABLE 
conn.set_isolation_level(ISOLATION_LEVEL_SERIALIZABLE) 

要在每次创建连接时运行它,子类化并实现_initialize_database()为此目的而设计的钩子:

class SerializedPostgresqlDatabase(PostgresqlDatabase):def _initialize_connection(self, conn):conn.set_isolation_level(ISOLATION_LEVEL_SERIALIZABLE)

6.3 使用 CockroachDB

CockroachDatabase使用以下定义的数据库类连接到 CockroachDB (CRDB) playhouse.cockroachdb:

from playhouse.cockroachdb import CockroachDatabasedb = CockroachDatabase('my_app', user='root', port=26257, host='localhost')

如果您使用Cockroach Cloud,您可能会发现使用连接字符串指定连接参数更容易:

db = CockroachDatabase('postgresql://root:secret@host:26257/defaultdb...')

笔记

CockroachDB 需要psycopg2(postgres) Python 驱动程序。

笔记

CockroachDB 安装和入门指南可以在这里找到:https
😕/www.cockroachlabs.com/docs/stable/install-cockroachdb.html

CRDB 提供客户端事务重试,可使用特殊的CockroachDatabase.run_transaction()辅助方法获得。此方法接受一个可调用对象,该可调用对象负责执行任何可能需要重试的事务语句。

最简单的例子run_transaction():

def create_user(email):# Callable that accepts a single argument (the database instance) and# which is responsible for executing the transactional SQL.def callback(db_ref):return User.create(email=email)return db.run_transaction(callback, max_attempts=10)huey = create_user('huey@example.com')

笔记

如果在给定的cockroachdb.ExceededMaxAttempts尝试次数后无法提交事务,则会引发异常。如果 SQL
格式错误、违反约束等,则该函数将向调用者引发异常。

有关更多信息,请参阅:

  • CRDB 扩展文档
  • 使用 CockroachDB 进行 SSL 配置
  • 数组(特定于 postgres,但适用于 CRDB)
  • JSON(特定于 postgres,但适用于 CRDB)
http://www.15wanjia.com/news/45981.html

相关文章:

  • 微信扫一扫登录网站如何做360免费建站
  • 网站建设_南京百度推广
  • 如何不备案建网站搜索app下载
  • 我要建一个网站免费推广的网站平台
  • wordpress页面位置昆明seo技术培训
  • 网站开发建设中线上推广的三种方式
  • 代做论文毕业设计网站靠谱不seo优化易下拉排名
  • 做网站需要套模板竞价推广代运营
  • 百度做网站电话多少钱网站推广的技术有哪些
  • 局门户网站的建设方案营销的方法和技巧
  • 杭州市拱墅区网站建设南昌seo排名公司
  • 做网站优惠重庆网站优化软件
  • 常用的cms建站系统网站查询访问
  • 住建城乡建设网站域名注册 万网
  • 商城网站建设公司电话网页搜索快捷键
  • WordPress找不到站点谷歌搜索引擎
  • 做采购 通常在什么网站看365优化大师软件下载
  • 上海网站设计公司联系方式电脑培训学校课程
  • 城乡建设厅建设网站网站搭建步骤
  • 网站建设张景鹏百度推广云南总代理
  • 宁国做网站的安卓优化大师下载安装
  • 西安高新区网站制作专门代写平台
  • 网站推荐广告模板营销推广运营
  • 网站制作案例图片只需要手机号的广告
  • 家乡网站建设策划案搜索引擎优化策略有哪些
  • 网站建设价格由什么决定网络广告营销案例
  • 女生做网站后期维护工作好吗合肥瑶海区
  • 做APP必须要有网站么网络营销策略包括
  • 西安网站建设huanxi宁波网络营销公司
  • 网站设计制作花多少钱app制作公司