diff --git a/alembic/versions/e47d1bca4b3d_sharedata.py b/alembic/versions/e47d1bca4b3d_sharedata.py new file mode 100644 index 0000000..24195d3 --- /dev/null +++ b/alembic/versions/e47d1bca4b3d_sharedata.py @@ -0,0 +1,30 @@ +"""sharedata + +Revision ID: e47d1bca4b3d +Revises: 509010f13e8b +Create Date: 2025-04-23 11:23:10.809341 + +""" +from typing import Sequence, Union + +import sqlalchemy as sa +from alembic import op +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision: str = 'e47d1bca4b3d' +down_revision: Union[str, None] = '509010f13e8b' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.create_table('sharedata', + sa.Column('id', sa.Integer(), autoincrement=True, nullable=False), + sa.Column('data', postgresql.JSONB(astext_type=sa.Text()), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + + +def downgrade() -> None: + op.drop_table('sharedata') diff --git a/src/dexorder/database/model/__init__.py b/src/dexorder/database/model/__init__.py index bf38065..61bbef6 100644 --- a/src/dexorder/database/model/__init__.py +++ b/src/dexorder/database/model/__init__.py @@ -10,3 +10,4 @@ from .ofac import OFAC, OFACAlerts from .accounting import Accounting, DbAccount from .vaultcreationrequest import VaultCreationRequest from .tos import TOSAcceptance +from .sharedata import ShareData diff --git a/src/dexorder/database/model/sharedata.py b/src/dexorder/database/model/sharedata.py new file mode 100644 index 0000000..dd94328 --- /dev/null +++ b/src/dexorder/database/model/sharedata.py @@ -0,0 +1,12 @@ +import logging + +from sqlalchemy.dialects.postgresql import JSONB +from sqlalchemy.orm import Mapped, mapped_column + +from dexorder.database.model import Base + +log = logging.getLogger(__name__) + +class ShareData (Base): + id: Mapped[int] = mapped_column(primary_key=True, autoincrement=True) + data: Mapped[dict] = mapped_column(JSONB)