zoukankan      html  css  js  c++  java
  • peewee 事物 回滚

    peewee 事物 回滚

    #!/usr/bin/env python
    # coding=utf-8
    from peewee import *
    
    
    db = MySQLDatabase(host='123.57.229.66', user='root', passwd='password', database='czj', charset='utf8')
    
    class tb_users(Model):
        id = PrimaryKeyField()  # 主键
        mobile = CharField(unique=True, max_length=64, null=False)  # 注册手机号/openid
        password = CharField(max_length=32)  # 密码
        truename = CharField(max_length=32)  # 真实姓名/nickname
    
        class Meta:
            database = db
    
    #
    def one():
        try:
            with db.atomic():
                tb_users.create(mobile='120', password='120', truename='120')
                raise 'haha'
            print 'Success'
        except IntegrityError:
            print 'Failure: %s is already in use.' % username
    
    #
    @db.atomic()
    def create_user():
        tb_users.create(mobile='120', password='120', truename='120')
        raise 'haha'
    
    def two():
        create_user()
    
    
    #
    def three():
        db.set_autocommit(False)
        db.begin()
        try:
            tb_users.create(mobile='120', password='120', truename='120')
            raise 'haha'
        except:
            db.rollback()
            raise
        else:
            try:
                db.commit()
            except:
                db.rollback()
                raise
        finally:
            db.set_autocommit(True)
    
    #
    def four():
        db.set_autocommit(False)
        db.begin()
        tb_users.create(mobile='120', password='120', truename='120')
        db.rollback()
        db.commit()
        db.set_autocommit(True)

    实例1,2是使用 peewee封装的db.atomic()原子性,3,4是利用关闭自动提交和手动回滚来保证事物的原子性;

  • 相关阅读:
    IDEA中用好Lombok,撸码效率至少提升5倍
    在 IDEA 中使用 Debug,真是太厉害了!
    彻底理解cookie,session,token
    优秀的程序员一定要多写博客!
    IntelliJ IDEA 从入门到上瘾教程,2019图文版!
    注解配置
    过滤器(登录认证)
    过滤器
    Session监听器
    request监听器
  • 原文地址:https://www.cnblogs.com/aaron-agu/p/7645723.html
Copyright © 2011-2022 走看看