migrate.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:service-level-reporting 作者: zalando-zmon 项目源码 文件源码
def create_user(database_uri, user, password):
    engine = create_engine(database_uri)

    conn = engine.connect()

    try:
        conn.execute("CREATE USER {} WITH PASSWORD '{}';".format(user, password))
    except ProgrammingError:
        logger.error('SQL error creating user')
    except Exception:
        logger.exception('Error creating user')

    try:
        conn.execute(
            ('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES,'
             ' TRIGGER ON TABLES TO {user};').format(user=user)
        )
        conn.execute(
            ('ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO {user};')
            .format(user=user)
        )

        conn.execute(
            ('GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA public '
             'TO {};').format(user)
        )
        conn.execute(
            ('GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO {};').format(user)
        )
    except ProgrammingError as e:
        logger.error('SQL error assigning permissions: {}'.format(e))
    except Exception:
        logger.exception('Error assigning permissions')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号