webr_update_deleted_payment.py
1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import sys
from argparse import ArgumentParser
from configparser import ConfigParser
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from opensipkd.webr.models.default import Payment
from payment_report.models import Webr
pars = ArgumentParser()
pars.add_argument('conf')
option = pars.parse_args(sys.argv[1:])
conf = ConfigParser()
conf.read(option.conf)
cf = dict(conf.items('main'))
engine_prod = create_engine(cf['db_url'])
engine_rpt = create_engine(cf['report_db_url'])
factory_prod = sessionmaker(bind=engine_prod)
factory_rpt = sessionmaker(bind=engine_rpt)
db_session_prod = factory_prod()
db_session_rpt = factory_rpt()
q_rpt = db_session_rpt.query(Webr)
q_rpt = q_rpt.filter(Webr.id)
for rpt in q_rpt.order_by(Webr.id):
q_prod = db_session_prod.query(Payment).filter_by(id=rpt.id)
prod = q_prod.first()
if prod:
continue
print(f'webr.ar_payment.id = {rpt.id} sudah tidak ada')
rpt.pokok = rpt.denda = rpt.jml_bayar = 0
db_session_rpt.add(rpt)
db_session_rpt.flush()
db_session_rpt.commit()