postgres default fix
This commit is contained in:
parent
b28e561a5f
commit
82758fb11a
|
|
@ -8,7 +8,7 @@ class ServiceConfigValue(AlchemyBase):
|
|||
|
||||
id = Column(Integer, autoincrement=True, primary_key=True)
|
||||
key = Column(String(128), nullable=False, unique=True)
|
||||
packed_value = Column(JSON, nullable=False, default={})
|
||||
packed_value = Column(JSON, nullable=False, default=dict)
|
||||
|
||||
@property
|
||||
def value(self):
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from sqlalchemy import Column, Integer, String, DateTime, JSON, Boolean
|
||||
from sqlalchemy.orm import relationship
|
||||
from datetime import datetime
|
||||
|
||||
from app.core._defaults import DEFAULT_ASSET_INITOBJ
|
||||
from app.core.models.base import AlchemyBase
|
||||
|
|
@ -15,10 +16,10 @@ class Asset(AlchemyBase):
|
|||
|
||||
network = Column(String(32), nullable=True)
|
||||
address = Column(String(1024), nullable=True)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
rates = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
rates = Column(JSON, nullable=False, default=dict)
|
||||
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
is_active = Column(Boolean, nullable=False, default=True)
|
||||
|
||||
balances = relationship('UserBalance', back_populates='asset')
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from sqlalchemy import Column, BigInteger, Integer, String, ForeignKey, DateTime
|
|||
from sqlalchemy.orm import relationship
|
||||
from app.core.models.base import AlchemyBase
|
||||
from app.core.models.content.indexation_mixins import UserContentIndexationMixin
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class UserContent(AlchemyBase, UserContentIndexationMixin):
|
||||
|
|
@ -14,12 +15,12 @@ class UserContent(AlchemyBase, UserContentIndexationMixin):
|
|||
owner_address = Column(String(1024), nullable=True)
|
||||
code_hash = Column(String(128), nullable=True)
|
||||
data_hash = Column(String(128), nullable=True)
|
||||
updated = Column(DateTime, nullable=False, default=0)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
content_id = Column(Integer, ForeignKey('node_storage.id'), nullable=True)
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
|
||||
wallet_connection_id = Column(Integer, ForeignKey('wallet_connections.id'), nullable=True)
|
||||
status = Column(String(64), nullable=False, default='active') # 'transaction_requested'
|
||||
|
|
@ -41,9 +42,8 @@ class UserAction(AlchemyBase):
|
|||
to_address = Column(String(1024), nullable=True)
|
||||
from_address = Column(String(1024), nullable=True)
|
||||
status = Column(String(128), nullable=True)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
user = relationship('User', uselist=False, foreign_keys=[user_id])
|
||||
content = relationship('StoredContent', uselist=False, foreign_keys=[content_id])
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from base58 import b58decode
|
||||
from sqlalchemy import Column, Integer, String, DateTime, JSON
|
||||
from datetime import datetime
|
||||
|
||||
from .base import AlchemyBase
|
||||
|
||||
|
|
@ -15,12 +16,12 @@ class KnownKey(AlchemyBase):
|
|||
public_key_hash = Column(String(64), nullable=False, unique=True) # base58
|
||||
|
||||
algo = Column(String(32), nullable=True, default=None)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
# {
|
||||
# "I_user_id": TRUSTED_USER_ID,
|
||||
# }
|
||||
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
# stored_content = relationship('StoredContent', back_populates='key')
|
||||
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ class KnownNode(AlchemyBase):
|
|||
public_key = Column(String(256), nullable=False)
|
||||
codebase_hash = Column(String(512), nullable=True) # Node software version
|
||||
reputation = Column(Integer, nullable=False, default=0)
|
||||
last_sync = Column(DateTime, nullable=False, default=datetime.now)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
located_at = Column(DateTime, nullable=False, default=datetime.now)
|
||||
last_sync = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
located_at = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
|
||||
class KnownNodeIncident(AlchemyBase):
|
||||
|
|
@ -28,7 +28,7 @@ class KnownNodeIncident(AlchemyBase):
|
|||
severity = Column(Integer, nullable=False, default=1) # Severity level (1-low to 5-critical)
|
||||
resolved = Column(Boolean, nullable=False, default=False) # Whether the incident has been resolved
|
||||
resolved_at = Column(DateTime, nullable=True) # Timestamp when the incident was resolved
|
||||
meta = Column(JSON, nullable=False, default={}) # Additional metadata if needed
|
||||
meta = Column(JSON, nullable=False, default=dict) # Additional metadata if needed
|
||||
|
||||
|
||||
class RemoteContentIndex(AlchemyBase):
|
||||
|
|
@ -41,7 +41,6 @@ class RemoteContentIndex(AlchemyBase):
|
|||
decrypted_hash = Column(String(128), nullable=True) # Decrypted content hash, available once permission is granted
|
||||
ton_address = Column(String(128), nullable=True) # TON network address for the content
|
||||
onchain_index = Column(Integer, nullable=True) # Onchain index or reference on a blockchain
|
||||
meta = Column(JSON, nullable=False, default={}) # Additional metadata for flexible content description
|
||||
meta = Column(JSON, nullable=False, default=dict) # Additional metadata for flexible content description
|
||||
last_updated = Column(DateTime, nullable=False, default=datetime.utcnow) # Timestamp of the last update
|
||||
created_at = Column(DateTime, nullable=False, default=datetime.utcnow) # Record creation timestamp
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ class StoredContent(AlchemyBase, AudioContentMixin):
|
|||
|
||||
status = Column(String(32), nullable=True)
|
||||
filename = Column(String(1024), nullable=False)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
# Use a factory for JSON default to avoid shared mutable dict
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
|
||||
user_id = Column(Integer, ForeignKey('users.id'), nullable=True)
|
||||
owner_address = Column(String(1024), nullable=True)
|
||||
|
|
@ -35,9 +36,11 @@ class StoredContent(AlchemyBase, AudioContentMixin):
|
|||
telegram_cid = Column(String(1024), nullable=True)
|
||||
|
||||
codebase_version = Column(Integer, nullable=True)
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
updated = Column(DateTime, nullable=False, default=0)
|
||||
disabled = Column(DateTime, nullable=False, default=0)
|
||||
# Use proper datetime defaults; updated also auto-updates on change
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
# Timestamp of when content was disabled; None means active
|
||||
disabled = Column(DateTime, nullable=True, default=None)
|
||||
disabled_by = Column(Integer, ForeignKey('users.id'), nullable=True, default=None)
|
||||
|
||||
encrypted = Column(Boolean, nullable=False, default=False)
|
||||
|
|
|
|||
|
|
@ -13,4 +13,4 @@ class PromoAction(AlchemyBase):
|
|||
action_type = Column(String(64), nullable=False) # Type of action, e.g., 'referral', 'discount'
|
||||
action_ref = Column(String(512), nullable=False) # Reference to the action, e.g., promo code
|
||||
|
||||
created = Column(DateTime, nullable=False, default=datetime.now)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ class BlockchainTask(AlchemyBase):
|
|||
epoch = Column(Integer, nullable=True)
|
||||
seqno = Column(Integer, nullable=True)
|
||||
|
||||
created = Column(DateTime, nullable=False, default=datetime.now)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.now)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
user_id = Column(Integer, ForeignKey('users.id'), nullable=True)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
status = Column(String(256), nullable=False)
|
||||
|
||||
transaction_hash = Column(String(1024), nullable=True)
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ class UserBalance(AlchemyBase):
|
|||
asset_id = Column(Integer, ForeignKey('assets.id'), nullable=False)
|
||||
balance = Column(Float, nullable=False, default=0)
|
||||
|
||||
updated = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
user = relationship('User', uselist=False, foreign_keys=[user_id], back_populates='balances')
|
||||
asset = relationship('Asset', uselist=False, foreign_keys=[asset_id], back_populates='balances')
|
||||
|
|
@ -32,7 +32,7 @@ class InternalTransaction(AlchemyBase):
|
|||
spent_transaction_id = Column(Integer, ForeignKey('internal_transactions.id'), nullable=True)
|
||||
type = Column(String(256), nullable=False, default="NOT_SPECIFIED")
|
||||
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
user = relationship('User', uselist=False, back_populates='internal_transactions', foreign_keys=[user_id])
|
||||
asset = relationship('Asset', uselist=False, foreign_keys=[asset_id])
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class User(AlchemyBase, DisplayMixin, TranslationCore, AuthenticationMixin_V1, W
|
|||
|
||||
username = Column(String(512), nullable=True)
|
||||
lang_code = Column(String(8), nullable=False, default="en")
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
|
||||
last_use = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
|
@ -32,4 +32,3 @@ class User(AlchemyBase, DisplayMixin, TranslationCore, AuthenticationMixin_V1, W
|
|||
def __str__(self):
|
||||
return f"User, {self.id}_{self.telegram_id} | Username: {self.username} " + '\\'
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
from sqlalchemy import Column, BigInteger, Integer, String, ForeignKey, DateTime, JSON, Boolean
|
||||
from sqlalchemy.orm import relationship
|
||||
from .base import AlchemyBase
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class UserActivity(AlchemyBase):
|
||||
|
|
@ -9,10 +10,10 @@ class UserActivity(AlchemyBase):
|
|||
|
||||
id = Column(Integer, autoincrement=True, primary_key=True)
|
||||
type = Column(String(64), nullable=False)
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
|
||||
user_id = Column(Integer, ForeignKey('users.id'), nullable=True)
|
||||
user_ip = Column(String(64), nullable=True)
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
|
||||
user = relationship('User', uselist=False, foreign_keys=[user_id])
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
from sqlalchemy import Column, Integer, String, ForeignKey, DateTime, JSON, Boolean
|
||||
from sqlalchemy.orm import relationship
|
||||
from datetime import datetime
|
||||
|
||||
from .base import AlchemyBase
|
||||
|
||||
|
|
@ -15,11 +16,11 @@ class WalletConnection(AlchemyBase):
|
|||
|
||||
wallet_address = Column(String(1024), nullable=False)
|
||||
|
||||
keys = Column(JSON, nullable=False, default={})
|
||||
meta = Column(JSON, nullable=False, default={})
|
||||
keys = Column(JSON, nullable=False, default=dict)
|
||||
meta = Column(JSON, nullable=False, default=dict)
|
||||
|
||||
created = Column(DateTime, nullable=False, default=0)
|
||||
updated = Column(DateTime, nullable=False, default=0)
|
||||
created = Column(DateTime, nullable=False, default=datetime.utcnow)
|
||||
updated = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
invalidated = Column(Boolean, nullable=False, default=True)
|
||||
without_pk = Column(Boolean, nullable=False, default=False)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue