due_at fix
This commit is contained in:
38
cli/fixDueDate.py
Normal file
38
cli/fixDueDate.py
Normal file
@ -0,0 +1,38 @@
|
||||
from loguru import logger
|
||||
from db import dbGetMany, dbGetOne
|
||||
|
||||
def perform(dbh, params):
|
||||
accountEntries = dbGetMany(
|
||||
dbh,
|
||||
{
|
||||
"statement":
|
||||
"""
|
||||
select id, due_at from account_entry_t where due_at is not null
|
||||
""",
|
||||
"params": {}
|
||||
}
|
||||
)
|
||||
|
||||
for accountEntry in accountEntries:
|
||||
id = accountEntry['id']
|
||||
oldDueAt = accountEntry['due_at']
|
||||
newDueAt = oldDueAt.replace(day=1)
|
||||
logger.info(f"id: {id}, due_at: {oldDueAt} -> {newDueAt}")
|
||||
|
||||
fixedEntry = dbGetOne(
|
||||
dbh,
|
||||
{
|
||||
"statement":
|
||||
"""
|
||||
UPDATE account_entry_t
|
||||
SET due_at = %(dueAt)s
|
||||
WHERE id = %(id)s
|
||||
RETURNING *
|
||||
""",
|
||||
"params": {
|
||||
"id": id,
|
||||
"dueAt": newDueAt
|
||||
}
|
||||
}
|
||||
)
|
||||
logger.info("fixed")
|
Reference in New Issue
Block a user