55from dataclasses import dataclass , field
66
77from piccolo .apps .migrations .auto .diffable_table import DiffableTable
8- from piccolo .apps .migrations .auto .operations import (AlterColumn , DropColumn ,
9- RenameColumn , RenameTable )
8+ from piccolo .apps .migrations .auto .operations import (
9+ AlterColumn ,
10+ DropColumn ,
11+ RenameColumn ,
12+ RenameTable ,
13+ )
1014from piccolo .apps .migrations .auto .serialisation import deserialise_params
1115from piccolo .columns import Column , column_types
1216from piccolo .engine import engine_finder
@@ -27,22 +31,12 @@ class AddColumnCollection:
2731 def append (self , add_column : AddColumnClass ):
2832 self .add_columns .append (add_column )
2933
30- def for_table_class_name (
31- self , table_class_name : str
32- ) -> t .List [AddColumnClass ]:
33- return [
34- i
35- for i in self .add_columns
36- if i .table_class_name == table_class_name
37- ]
34+ def for_table_class_name (self , table_class_name : str ) -> t .List [AddColumnClass ]:
35+ return [i for i in self .add_columns if i .table_class_name == table_class_name ]
3836
39- def columns_for_table_class_name (
40- self , table_class_name : str
41- ) -> t .List [Column ]:
37+ def columns_for_table_class_name (self , table_class_name : str ) -> t .List [Column ]:
4238 return [
43- i .column
44- for i in self .add_columns
45- if i .table_class_name == table_class_name
39+ i .column for i in self .add_columns if i .table_class_name == table_class_name
4640 ]
4741
4842 @property
@@ -57,14 +51,8 @@ class DropColumnCollection:
5751 def append (self , drop_column : DropColumn ):
5852 self .drop_columns .append (drop_column )
5953
60- def for_table_class_name (
61- self , table_class_name : str
62- ) -> t .List [DropColumn ]:
63- return [
64- i
65- for i in self .drop_columns
66- if i .table_class_name == table_class_name
67- ]
54+ def for_table_class_name (self , table_class_name : str ) -> t .List [DropColumn ]:
55+ return [i for i in self .drop_columns if i .table_class_name == table_class_name ]
6856
6957 @property
7058 def table_class_names (self ) -> t .List [str ]:
@@ -78,13 +66,9 @@ class RenameColumnCollection:
7866 def append (self , rename_column : RenameColumn ):
7967 self .rename_columns .append (rename_column )
8068
81- def for_table_class_name (
82- self , table_class_name : str
83- ) -> t .List [RenameColumn ]:
69+ def for_table_class_name (self , table_class_name : str ) -> t .List [RenameColumn ]:
8470 return [
85- i
86- for i in self .rename_columns
87- if i .table_class_name == table_class_name
71+ i for i in self .rename_columns if i .table_class_name == table_class_name
8872 ]
8973
9074 @property
@@ -99,14 +83,8 @@ class AlterColumnCollection:
9983 def append (self , alter_column : AlterColumn ):
10084 self .alter_columns .append (alter_column )
10185
102- def for_table_class_name (
103- self , table_class_name : str
104- ) -> t .List [AlterColumn ]:
105- return [
106- i
107- for i in self .alter_columns
108- if i .table_class_name == table_class_name
109- ]
86+ def for_table_class_name (self , table_class_name : str ) -> t .List [AlterColumn ]:
87+ return [i for i in self .alter_columns if i .table_class_name == table_class_name ]
11088
11189 @property
11290 def table_class_names (self ) -> t .List [str ]:
@@ -125,18 +103,12 @@ class MigrationManager:
125103 add_tables : t .List [DiffableTable ] = field (default_factory = list )
126104 drop_tables : t .List [DiffableTable ] = field (default_factory = list )
127105 rename_tables : t .List [RenameTable ] = field (default_factory = list )
128- add_columns : AddColumnCollection = field (
129- default_factory = AddColumnCollection
130- )
131- drop_columns : DropColumnCollection = field (
132- default_factory = DropColumnCollection
133- )
106+ add_columns : AddColumnCollection = field (default_factory = AddColumnCollection )
107+ drop_columns : DropColumnCollection = field (default_factory = DropColumnCollection )
134108 rename_columns : RenameColumnCollection = field (
135109 default_factory = RenameColumnCollection
136110 )
137- alter_columns : AlterColumnCollection = field (
138- default_factory = AlterColumnCollection
139- )
111+ alter_columns : AlterColumnCollection = field (default_factory = AlterColumnCollection )
140112 raw : t .List [t .Union [t .Callable , t .Coroutine ]] = field (default_factory = list )
141113 raw_backwards : t .List [t .Union [t .Callable , t .Coroutine ]] = field (
142114 default_factory = list
@@ -152,9 +124,7 @@ def add_table(
152124 columns = []
153125
154126 self .add_tables .append (
155- DiffableTable (
156- class_name = class_name , tablename = tablename , columns = columns
157- )
127+ DiffableTable (class_name = class_name , tablename = tablename , columns = columns )
158128 )
159129
160130 def drop_table (self , class_name : str , tablename : str ):
@@ -215,9 +185,7 @@ def add_column(
215185 )
216186 )
217187
218- def drop_column (
219- self , table_class_name : str , tablename : str , column_name : str
220- ):
188+ def drop_column (self , table_class_name : str , tablename : str , column_name : str ):
221189 self .drop_columns .append (
222190 DropColumn (
223191 table_class_name = table_class_name ,
@@ -319,9 +287,7 @@ async def get_table_from_snaphot(
319287
320288 async def _run_alter_columns (self , backwards = False ):
321289 for table_class_name in self .alter_columns .table_class_names :
322- alter_columns = self .alter_columns .for_table_class_name (
323- table_class_name
324- )
290+ alter_columns = self .alter_columns .for_table_class_name (table_class_name )
325291
326292 if not alter_columns :
327293 continue
@@ -333,16 +299,10 @@ async def _run_alter_columns(self, backwards=False):
333299
334300 for alter_column in alter_columns :
335301
336- params = (
337- alter_column .old_params
338- if backwards
339- else alter_column .params
340- )
302+ params = alter_column .old_params if backwards else alter_column .params
341303
342304 old_params = (
343- alter_column .params
344- if backwards
345- else alter_column .old_params
305+ alter_column .params if backwards else alter_column .old_params
346306 )
347307
348308 ###############################################################
@@ -359,9 +319,7 @@ async def _run_alter_columns(self, backwards=False):
359319 else alter_column .old_column_class
360320 )
361321
362- if (old_column_class is not None ) and (
363- column_class is not None
364- ):
322+ if (old_column_class is not None ) and (column_class is not None ):
365323 if old_column_class != column_class :
366324 old_column = old_column_class (** old_params )
367325 old_column ._meta ._table = _Table
@@ -398,9 +356,7 @@ async def _run_alter_columns(self, backwards=False):
398356 column = Column ()
399357 column ._meta ._table = _Table
400358 column ._meta ._name = column_name
401- await _Table .alter ().set_unique (
402- column = column , boolean = unique
403- ).run ()
359+ await _Table .alter ().set_unique (column = column , boolean = unique ).run ()
404360
405361 index = params .get ("index" )
406362 index_method = params .get ("index_method" )
@@ -423,9 +379,7 @@ async def _run_alter_columns(self, backwards=False):
423379 column ._meta ._table = _Table
424380 column ._meta ._name = column_name
425381 if index is True :
426- kwargs = (
427- {"method" : index_method } if index_method else {}
428- )
382+ kwargs = {"method" : index_method } if index_method else {}
429383 await _Table .create_index (
430384 [column ], if_not_exists = True , ** kwargs
431385 ).run ()
@@ -450,7 +404,8 @@ async def _run_alter_columns(self, backwards=False):
450404 digits = params .get ("digits" , ...)
451405 if digits is not ...:
452406 await _Table .alter ().set_digits (
453- column = alter_column .column_name , digits = digits ,
407+ column = alter_column .column_name ,
408+ digits = digits ,
454409 ).run ()
455410
456411 async def _run_drop_tables (self , backwards = False ):
@@ -464,9 +419,7 @@ async def _run_drop_tables(self, backwards=False):
464419 await _Table .create_table ().run ()
465420 else :
466421 for diffable_table in self .drop_tables :
467- await (
468- diffable_table .to_table_class ().alter ().drop_table ().run ()
469- )
422+ await (diffable_table .to_table_class ().alter ().drop_table ().run ())
470423
471424 async def _run_drop_columns (self , backwards = False ):
472425 if backwards :
@@ -484,9 +437,7 @@ async def _run_drop_columns(self, backwards=False):
484437 ).run ()
485438 else :
486439 for table_class_name in self .drop_columns .table_class_names :
487- columns = self .drop_columns .for_table_class_name (
488- table_class_name
489- )
440+ columns = self .drop_columns .for_table_class_name (table_class_name )
490441
491442 if not columns :
492443 continue
@@ -497,9 +448,7 @@ async def _run_drop_columns(self, backwards=False):
497448 )
498449
499450 for column in columns :
500- await _Table .alter ().drop_column (
501- column = column .column_name
502- ).run ()
451+ await _Table .alter ().drop_column (column = column .column_name ).run ()
503452
504453 async def _run_rename_tables (self , backwards = False ):
505454 for rename_table in self .rename_tables :
@@ -509,14 +458,10 @@ async def _run_rename_tables(self, backwards=False):
509458 else rename_table .old_class_name
510459 )
511460 tablename = (
512- rename_table .new_tablename
513- if backwards
514- else rename_table .old_tablename
461+ rename_table .new_tablename if backwards else rename_table .old_tablename
515462 )
516463 new_tablename = (
517- rename_table .old_tablename
518- if backwards
519- else rename_table .new_tablename
464+ rename_table .old_tablename if backwards else rename_table .new_tablename
520465 )
521466
522467 _Table : t .Type [Table ] = create_table_class (
@@ -527,9 +472,7 @@ async def _run_rename_tables(self, backwards=False):
527472
528473 async def _run_rename_columns (self , backwards = False ):
529474 for table_class_name in self .rename_columns .table_class_names :
530- columns = self .rename_columns .for_table_class_name (
531- table_class_name
532- )
475+ columns = self .rename_columns .for_table_class_name (table_class_name )
533476
534477 if not columns :
535478 continue
@@ -552,23 +495,21 @@ async def _run_rename_columns(self, backwards=False):
552495 )
553496
554497 await _Table .alter ().rename_column (
555- column = column , new_name = new_name ,
498+ column = column ,
499+ new_name = new_name ,
556500 ).run ()
557501
558502 async def _run_add_tables (self , backwards = False ):
559503 if backwards :
560504 for add_table in self .add_tables :
561- await add_table .to_table_class ().alter ().drop_table (
562- cascade = True
563- ).run ()
505+ await add_table .to_table_class ().alter ().drop_table (cascade = True ).run ()
564506 else :
565507 for add_table in self .add_tables :
566508 _Table : t .Type [Table ] = create_table_class (
567509 class_name = add_table .class_name ,
568510 class_kwargs = {"tablename" : add_table .tablename },
569511 class_members = {
570- column ._meta .name : column
571- for column in add_table .columns
512+ column ._meta .name : column for column in add_table .columns
572513 },
573514 )
574515
0 commit comments