o
    ?Zc                     @   s   d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
mZmZ ddlmZ ddlmZ z
ddlmZmZ W n eyE   ddlmZmZ Y nw i Ze ZeeedZG dd	 d	ZG d
d dZdS )z6Kombu transport using SQLAlchemy as the message store.    N)
BooleanColumnDateTime
ForeignKeyIndexIntegerSequenceSmallIntegerStringTextrelation)MetaData)declarative_basedeclared_attr)metadataclass_registryc                   @   sZ   e Zd ZdZdddZeeeddddZee	dddZ
d	d
 Zdd Zedd ZdS )QueuezThe queue class.TInnoDBsqlite_autoincrementmysql_enginequeue_id_sequenceprimary_keyautoincrement   )uniquec                 C   s
   || _ d S Nname)selfr     r"   W/var/www/chikooza/env/lib/python3.10/site-packages/kombu/transport/sqlalchemy/models.py__init__      
zQueue.__init__c                 C   s   d| j  dS )Nz<Queue(z)>r   r!   r"   r"   r#   __str__!   s   zQueue.__str__c                 C   s   t ddddS )NMessagequeuenoload)backreflazyr   )clsr"   r"   r#   messages$   s   zQueue.messagesN)__name__
__module____qualname____doc____table_args__r   r   r   idr
   r    r$   r'   r   r.   r"   r"   r"   r#   r      s    
r   c                   @   s   e Zd ZdZeddddddfZeeedddd	Z	ee
ddd
ZededdejjdZeeddZeedddZdeiZdd Zdd Zedd ZdS )r(   zThe message class.ix_kombu_message_timestamp_id	timestampr4   Tr   r   message_id_sequencer   )defaultindex)nullabler9   onupdateF)r:      )r:   r8   version_id_colc                 C   s   || _ || _d S r   )payloadr)   )r!   r>   r)   r"   r"   r#   r$   ;   s   
zMessage.__init__c                 C   s
   d | S )Nz/<Message: {0.sent_at} {0.payload} {0.queue_id}>)formatr&   r"   r"   r#   r'   ?   r%   zMessage.__str__c                 C   s   t ttdtd j ddS )Nz%s.idr   FK_kombu_message_queuer   )r   r   r   r   __tablename__r&   r"   r"   r#   queue_idB   s   zMessage.queue_idN)r/   r0   r1   r2   r   r3   r   r   r   r4   r   visibler   datetimenowsent_atr   r>   r	   version__mapper_args__r$   r'   r   rB   r"   r"   r"   r#   r(   )   s&    


r(   )r2   rD   
sqlalchemyr   r   r   r   r   r   r   r	   r
   r   sqlalchemy.ormr   sqlalchemy.schemar   r   r   ImportErrorsqlalchemy.ext.declarativer   r   	ModelBaser   r(   r"   r"   r"   r#   <module>   s    0