File: //opt/alt/python38/lib/python3.8/site-packages/peewee_migrate/__pycache__/migrator.cpython-38.pyc
U
/�Xp* � @ s� d dl Zd dlmZmZmZm Z
mZmZm
Z
mZmZmZmZmZ d dlmZ G dd� de�ZG dd� dee�ZG dd � d ee�ZG d
d� dee
�Z dd
� ZG dd� de�ZdS )� N)�
MySQLMigrator�PostgresqlMigrator�SchemaMigrator�SqliteMigrator� Operation�SQL�Entity�Clause�PostgresqlDatabase� operation�SqliteDatabase�
MySQLDatabase)�LOGGERc sZ e Zd ZdZe� fdd��Zddd�Zedd� �Zd d
� Z edd� �Z
ed
d� �Z� ZS )r zImplement migrations.c sF t |t�rt|�S t |t�r$t|�S t |t�r6t|�S tt| �� |�S )zInitialize migrator by db.)
�
isinstancer
r r r r
r �superr �
from_database)�cls�database�� __class__� �H/opt/alt/python38/lib/python3.8/site-packages/peewee_migrate/migrator.pyr s
zSchemaMigrator.from_databaseTc s � �fdd�S )Nc s �j � d�S )N��cascade��
drop_tabler �r �modelr r �<lambda> � z+SchemaMigrator.drop_table.<locals>.<lambda>r ��selfr r r r r r s zSchemaMigrator.drop_tablec C s. | � |||�g}|js*|�| �||�g� |S )zChange column.)�alter_change_column�null�extend�add_not_null)r! �table�column_name�fieldZ
operationsr r r �
change_column s zSchemaMigrator.change_columnc C s>