� J�g]��F�ddlmZddlmZddlmZddlmZddl m Z ddl m Z erdd l m Z ejej�� d,d���Zejej��d-d���Zejej�� d.d���Zejej�� d/d���Zejej��d0d���Zejej�� d1d���Zejej�� d2d���Zejej�� d3d���Zejej�� d4d!���Z ejej!��d5d#���Z"ejej#�� d6d%���Z$ejej%�� d7d'���Z&ejej'�� d8d)���Z(ejej)�� d9d+���Z*dS):�)� TYPE_CHECKING��schema�)�ops)� Operations�)�_copy)�sqla_14)�Table� operationsr� operation�ops.AlterColumnOp�returnNc����|jj�|jjd���|j}|j}|j}|j}|j}|j}|j }|j } |j } |j } |j } |j} �fd�}|ra|r_|j�|t#j||��|���}|jD]'}||��r|j�|���(|jj||f| | | |||||| | d� |j��|re|j�||j�||��|���}|jD])}||��r|j�|���(dSdS)Nc�t��t|tj�� o|j p|����S�N)� isinstance� sa_schema�PrimaryKeyConstraint� _create_rule)� constraint�compilers ��i/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/alembic/operations/toimpl.py�_count_constraintz'alter_column.<locals>._count_constraint&s<����j�)�*H�I�I�I� ��'� '� L�:�+B�+B�8�+L�+L� �r) �nullable�server_default�name�type_r� existing_type�existing_server_default�existing_nullable�comment�existing_comment)�impl�dialect�statement_compilerr!r#r"� modify_type� column_name� table_namer�modify_server_default� modify_name�modify_nullable�modify_commentr%� schema_obj�tabler�Column� constraints�drop_constraint� alter_column�kw�column�add_constraint)r rr!r#r"r r*r+rr�new_column_namerr$r%r�trrs @rr5r5s�����&�9�9�������H��+�M�!�3��'�?�� � !�E��'�K��%�J� � �F��4�N��+�O��(�H��&�G� �1�� � � � � � �<��<� � !� '� '� � � �[�-� 8� 8�� (� � �� �-� <� <�J� � ��,�,� <���/�/� �;�;�;�� �J�O� �����%� ���#� 7�+��)��� �,����  �;� � !� '� '� � � !� (� (��e� <� <�� (� � �� �-� ;� ;�J� � ��,�,� ;���.�.�z�:�:�:��;�;�  ;� ;r�ops.DropTableOpc��i}|j� tstd���|j|d<|jj|�|j��fi|��dS�N�SQLAlchemy 1.4+ required� if_exists)r?r �NotImplementedErrorr&� drop_table�to_table�migration_context�r rr6s rrArAPsx�� �B���&�� B�%�&@�A�A� A�#�-��;���J�O�����:�7�8�8���<>�����r�ops.DropColumnOpc��|�|j��}|jj|j|fd|ji|j��dS)Nr)� to_columnrCr&� drop_columnr+rr6)r rr7s rrHrH]s_��� � ��!=� >� >�F��J�O����f���-6�-=��AJ������r�ops.CreateIndexOpc��|�|j��}i}|j� tst d���|j|d<|jj|fi|��dS�Nr>� if_not_exists)�to_indexrCrLr r@r&� create_index)r r�idxr6s rrNrNgsp�� � � �Z�9� :� :�C� �B���*�� B�%�&@�A�A� A�'�5��?�� �J�O� ��+�+��+�+�+�+�+r�ops.DropIndexOpc��i}|j� tstd���|j|d<|jj|�|j��fi|��dSr=)r?r r@r&� drop_indexrMrCrDs rrRrRusx�� �B���&�� B�%�&@�A�A� A�#�-��;���J�O�����:�7�8�8��� �����r�ops.CreateTableOpr c��i}|j� tstd���|j|d<|�|j��}|jj|fi|��|SrK)rLr r@rBrCr&� create_table)r rr6r1s rrUrU�so�� �B���*�� B�%�&@�A�A� A�'�5��?�� � � �z�;� <� <�E� �J�O� ��-�-�"�-�-�-� �Lr�ops.RenameTableOpc�^�|j�|j|j|j���dS�Nr)r&� rename_tabler+�new_table_namer�r rs rrYrY�s=���O� � ���i�6�y�?O�!�����r�ops.CreateTableCommentOpc�n�|�|j��}|j�|��dSr)rBrCr&�create_table_comment�r rr1s rr^r^�s6�� � � �z�;� <� <�E��O�(�(��/�/�/�/�/r�ops.DropTableCommentOpc�n�|�|j��}|j�|��dSr)rBrCr&�drop_table_commentr_s rrbrb�s6�� � � �z�;� <� <�E��O�&�&�u�-�-�-�-�-r�ops.AddColumnOpc�,�|j}|j}|j}|j}|j�t |��}|j�|||���}|jj||fd|i|��|j D]6}t|tj ��s|j� |���7|jD]}|j�|���|jjjo|jjj } |j} | r| r|j�|��dSdSdS)Nrr)r+r7rr6r1r r0r&� add_columnr3rrrr8�indexesrNr'�supports_comments�inline_commentsr$�create_column_comment) r rr+r7rr6r:r�index� with_commentr$s rrere�sI���%�J� � �F� � �F� ��B� �|���v������#�#�J��v�#�F�F�A��J�O��z�6�G�G�&�G�B�G�G�G��m�7�7� ��*�i�&D�E�E� 7� �O� *� *�:� 6� 6� 6����,�,����$�$�U�+�+�+�+� ���1� 8���'�7� 7���n�G��6�<�6���-�-�f�5�5�5�5�5�6�6�6�6r�ops.AddConstraintOpc�j�|j�|�|j����dSr)r&r8� to_constraintrCr[s r�create_constraintro�s<���O�"�"���� � <�=�=�����r�ops.DropConstraintOpc��|j�|j�|j|j|j|j�����dSrX)r&r4r0�generic_constraint�constraint_namer+�constraint_typerr[s rr4r4�s[���O�#�#���0�0� � %� � � � %��#� 1� � �����r�ops.BulkInsertOpc�^�|j�|j|j|j���dS)N)� multiinsert)r&� bulk_insertr1�rowsrwr[s rrxrx�s;���O�������Y�5J� �����r�ops.ExecuteSQLOpc�\�|jj�|j|j���dS)N)�execution_options)rCr&�execute�sqltextr|r[s r� execute_sqlr�s<��� �%�-�-���Y�-H�.�����r)r rrrrN)r rrr;rN)r rrrErN)r rrrIrN)r rrrPrN)r rrrSrr )r rrrVrN)r rrr\rN)r rrr`rN)r rrrcrN)r rrrlrN)r rrrprN)r rrrurN)r rrrzrN)+�typingr� sqlalchemyrr�r�baser�util.sqla_compatr r �sqlalchemy.sql.schemar �implementation_for� AlterColumnOpr5� DropTableOprA� DropColumnOprH� CreateIndexOprN� DropIndexOprR� CreateTableOprU� RenameTableOprY�CreateTableCommentOpr^�DropTableCommentOprb� AddColumnOpre�AddConstraintOpro�DropConstraintOpr4� BulkInsertOprx� ExecuteSQLOpr�rr�<module>r�sK��!� � � � � �*�*�*�*�*�*�������������$�$�$�$�$�$�&�&�&�&�&�&��,�+�+�+�+�+�+����s�0�1�1�;;��;;�)<�;;� �;;�;;�;;�2�1�;;�|���s��/�/� � � �0�/� ����s�/�0�0����);�� ����1�0�����s�0�1�1� ,�� ,�)<� ,� � ,� ,� ,�2�1� ,����s��/�/� � � �0�/� ����s�0�1�1� �� �)<� � � � � �2�1� ����s�0�1�1����)<�� ����2�1�����s�7�8�8�0��0�)C�0� �0�0�0�9�8�0����s�5�6�6�.��.�)A�.� �.�.�.�7�6�.����s��/�/�6�6�6�0�/�6�6���s�2�3�3����)>�� ����4�3�����s�3�4�4� �� �)?� � � � � �5�4� ����s�/�0�0����);�� ����1�0�����s�/�0�0����);�� ����1�0���r
Memory