22 lines
640 B
Python
22 lines
640 B
Python
import json
|
|
from typing import Sequence
|
|
|
|
from pydantic import BaseModel
|
|
from sqlalchemy import delete
|
|
|
|
from mev_inspect.models.base import Base
|
|
|
|
|
|
async def delete_by_block_number(db_session, block_number: int, model: Base):
|
|
statement = delete(model).where(model.block_number == block_number)
|
|
await db_session.execute(statement)
|
|
await db_session.commit()
|
|
await db_session.flush()
|
|
|
|
|
|
async def write_models(db_session, models: Sequence[BaseModel], db_model: Base):
|
|
models = [db_model(**json.loads(model.json())) for model in models]
|
|
db_session.add_all(models)
|
|
await db_session.commit()
|
|
await db_session.flush()
|