kopia lustrzana https://github.com/bugout-dev/moonstream
Switched call requests request id column to decimals
rodzic
f1a84d8cec
commit
5e03473705
|
@ -1,4 +1,4 @@
|
|||
"""Request ID bytes column
|
||||
"""Request ID decimal column
|
||||
|
||||
Revision ID: 040f2dfde5a5
|
||||
Revises: b4257b10daaf
|
||||
|
@ -18,7 +18,7 @@ depends_on = None
|
|||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.add_column('call_requests', sa.Column('request_id', sa.BigInteger(), nullable=True))
|
||||
op.add_column('call_requests', sa.Column('request_id', sa.DECIMAL(), nullable=True))
|
||||
op.create_index(op.f('ix_call_requests_request_id'), 'call_requests', ['request_id'], unique=False)
|
||||
op.create_unique_constraint(op.f('uq_call_requests_registered_contract_id'), 'call_requests', ['registered_contract_id', 'request_id'])
|
||||
|
||||
|
@ -56,15 +56,15 @@ WHERE
|
|||
DELETE FROM call_requests WHERE id IN (SELECT id FROM DeleteDuplicates);""")
|
||||
|
||||
# Fulfill not empty requestID values
|
||||
op.execute("UPDATE call_requests SET request_id = CAST(parameters->>'requestID' AS bigint) WHERE parameters->>'requestID' IS NOT NULL;")
|
||||
op.execute("UPDATE call_requests SET request_id = CAST(parameters->>'requestID' AS DECIMAL) WHERE parameters->>'requestID' IS NOT NULL;")
|
||||
# Fulfill raw types with random requestID
|
||||
op.execute("UPDATE call_requests SET request_id = FLOOR(RANDOM()* 120500600 + 120400600) WHERE parameters->>'requestID' IS NULL;")
|
||||
op.alter_column("call_requests", "request_id", nullable=False)
|
||||
|
||||
# Other
|
||||
op.create_unique_constraint(op.f('uq_blockchains_id'), 'blockchains', ['id'])
|
||||
op.create_unique_constraint(op.f('uq_call_request_types_name'), 'call_request_types', ['name'])
|
||||
op.create_unique_constraint(op.f('uq_metatx_requesters_id'), 'metatx_requesters', ['id'])
|
||||
# op.create_unique_constraint(op.f('uq_blockchains_id'), 'blockchains', ['id'])
|
||||
# op.create_unique_constraint(op.f('uq_call_request_types_name'), 'call_request_types', ['name'])
|
||||
# op.create_unique_constraint(op.f('uq_metatx_requesters_id'), 'metatx_requesters', ['id'])
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ def parse_call_request_response(
|
|||
call_request_type=obj[0].call_request_type_name,
|
||||
caller=obj[0].caller,
|
||||
method=obj[0].method,
|
||||
request_id=obj[0].request_id,
|
||||
request_id=str(obj[0].request_id),
|
||||
parameters=obj[0].parameters,
|
||||
expires_at=obj[0].expires_at,
|
||||
created_at=obj[0].created_at,
|
||||
|
|
|
@ -271,7 +271,7 @@ class CallSpecification(BaseModel):
|
|||
caller: str
|
||||
method: str
|
||||
call_request_type: str = "dropper-v0.2.0"
|
||||
request_id: int
|
||||
request_id: str
|
||||
parameters: Dict[str, Any]
|
||||
|
||||
@validator("caller")
|
||||
|
@ -303,7 +303,7 @@ class CallRequestResponse(BaseModel):
|
|||
call_request_type: Optional[str] = None
|
||||
caller: str
|
||||
method: str
|
||||
request_id: int
|
||||
request_id: str
|
||||
parameters: Dict[str, Any]
|
||||
expires_at: Optional[datetime] = None
|
||||
created_at: datetime
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import uuid
|
||||
|
||||
from sqlalchemy import (
|
||||
DECIMAL,
|
||||
VARCHAR,
|
||||
BigInteger,
|
||||
Boolean,
|
||||
|
@ -8,15 +9,15 @@ from sqlalchemy import (
|
|||
DateTime,
|
||||
ForeignKey,
|
||||
Index,
|
||||
Integer,
|
||||
MetaData,
|
||||
String,
|
||||
UniqueConstraint,
|
||||
Integer,
|
||||
)
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.ext.compiler import compiles
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.sql import and_, expression
|
||||
|
||||
"""
|
||||
|
@ -310,8 +311,7 @@ class CallRequest(Base):
|
|||
|
||||
caller = Column(VARCHAR(256), nullable=False, index=True)
|
||||
method = Column(String, nullable=False, index=True)
|
||||
request_id = Column(BigInteger, nullable=False, index=True)
|
||||
# TODO(zomglings): Should we conditional indices on parameters depending on the contract type?
|
||||
request_id = Column(DECIMAL, nullable=False, index=True)
|
||||
parameters = Column(JSONB, nullable=False)
|
||||
|
||||
expires_at = Column(DateTime(timezone=True), nullable=True, index=True)
|
||||
|
|
Ładowanie…
Reference in New Issue