diff --git a/moonstreamdb-v3/moonstreamdbv3/alembic_indexes/versions/48d2562504d1_add_indexed_at_logs_and_transactions.py b/moonstreamdb-v3/moonstreamdbv3/alembic_indexes/versions/48d2562504d1_add_indexed_at_logs_and_transactions.py new file mode 100644 index 00000000..bc59350d --- /dev/null +++ b/moonstreamdb-v3/moonstreamdbv3/alembic_indexes/versions/48d2562504d1_add_indexed_at_logs_and_transactions.py @@ -0,0 +1,159 @@ +"""Add indexed_at logs and transactions + +Revision ID: 48d2562504d1 +Revises: b89a8affe2c3 +Create Date: 2024-08-20 17:08:34.493114 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "48d2562504d1" +down_revision: Union[str, None] = "b89a8affe2c3" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.add_column( + "arbitrum_one_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "arbitrum_one_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "arbitrum_sepolia_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "arbitrum_sepolia_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "ethereum_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "ethereum_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "game7_orbit_arbitrum_sepolia_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "game7_orbit_arbitrum_sepolia_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "game7_testnet_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "game7_testnet_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "imx_zkevm_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "imx_zkevm_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "imx_zkevm_sepolia_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "imx_zkevm_sepolia_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "mantle_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "mantle_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "mantle_sepolia_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "mantle_sepolia_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "polygon_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "polygon_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "sepolia_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "sepolia_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "xai_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "xai_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "xai_sepolia_blocks", + sa.Column("transactions_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + op.add_column( + "xai_sepolia_blocks", + sa.Column("logs_indexed_at", sa.DateTime(timezone=True), nullable=True), + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column("xai_sepolia_blocks", "logs_indexed_at") + op.drop_column("xai_sepolia_blocks", "transactions_indexed_at") + op.drop_column("xai_blocks", "logs_indexed_at") + op.drop_column("xai_blocks", "transactions_indexed_at") + op.drop_column("sepolia_blocks", "logs_indexed_at") + op.drop_column("sepolia_blocks", "transactions_indexed_at") + op.drop_column("polygon_blocks", "logs_indexed_at") + op.drop_column("polygon_blocks", "transactions_indexed_at") + op.drop_column("mantle_sepolia_blocks", "logs_indexed_at") + op.drop_column("mantle_sepolia_blocks", "transactions_indexed_at") + op.drop_column("mantle_blocks", "logs_indexed_at") + op.drop_column("mantle_blocks", "transactions_indexed_at") + op.drop_column("imx_zkevm_sepolia_blocks", "logs_indexed_at") + op.drop_column("imx_zkevm_sepolia_blocks", "transactions_indexed_at") + op.drop_column("imx_zkevm_blocks", "logs_indexed_at") + op.drop_column("imx_zkevm_blocks", "transactions_indexed_at") + op.drop_column("game7_testnet_blocks", "logs_indexed_at") + op.drop_column("game7_testnet_blocks", "transactions_indexed_at") + op.drop_column("game7_orbit_arbitrum_sepolia_blocks", "logs_indexed_at") + op.drop_column("game7_orbit_arbitrum_sepolia_blocks", "transactions_indexed_at") + op.drop_column("ethereum_blocks", "logs_indexed_at") + op.drop_column("ethereum_blocks", "transactions_indexed_at") + op.drop_column("arbitrum_sepolia_blocks", "logs_indexed_at") + op.drop_column("arbitrum_sepolia_blocks", "transactions_indexed_at") + op.drop_column("arbitrum_one_blocks", "logs_indexed_at") + op.drop_column("arbitrum_one_blocks", "transactions_indexed_at") + # ### end Alembic commands ### diff --git a/moonstreamdb-v3/moonstreamdbv3/models_indexes.py b/moonstreamdb-v3/moonstreamdbv3/models_indexes.py index 1cabb7d5..4cbd8c02 100644 --- a/moonstreamdb-v3/moonstreamdbv3/models_indexes.py +++ b/moonstreamdb-v3/moonstreamdbv3/models_indexes.py @@ -53,6 +53,8 @@ class EvmBasedBlocks(Base): parent_hash = Column(VARCHAR(256), nullable=False) row_id = Column(BigInteger, nullable=False, index=False) path = Column(Text, nullable=False) + transactions_indexed_at = Column(DateTime(timezone=True), nullable=True) + logs_indexed_at = Column(DateTime(timezone=True), nullable=True) indexed_at = Column( DateTime(timezone=True), server_default=utcnow(), nullable=False )