@@ -51,7 +51,7 @@ public function getListEnumTypesSQL(): string
5151 /**
5252 * @param EnumTypeAsset $type
5353 *
54- * @throws Exception\ InvalidArgumentException
54+ * @throws InvalidArgumentException
5555 *
5656 * @return string
5757 */
@@ -81,25 +81,23 @@ public function getAlterTypeSql(EnumTypeAsset $from, EnumTypeAsset $to): array
8181 $ result = [];
8282 $ typeName = $ to ->getQuotedName ($ this );
8383
84- foreach (array_diff ($ toLabels , $ fromLabels ) as $ label ) {
85- $ result [] = "ALTER TYPE {$ typeName } ADD VALUE {$ this ->quoteEnumLabel ($ label )}" ;
86- }
87-
8884 $ removedLabels = array_diff ($ fromLabels , $ toLabels );
8985
9086 if (count ($ removedLabels ) < 1 ) {
87+ foreach (array_diff ($ toLabels , $ fromLabels ) as $ label ) {
88+ $ result [] = "ALTER TYPE {$ typeName } ADD VALUE {$ this ->quoteEnumLabel ($ label )}" ;
89+ }
90+
9191 return $ result ;
9292 }
9393
94- $ self = $ this ;
95-
9694 $ result [] = "ALTER TYPE {$ typeName } RENAME TO {$ typeName }_old " ;
9795 $ result [] = $ this ->getCreateTypeSql ($ to );
9896 $ result [] = $ this ->getCommentOnTypeSql ($ to );
9997
10098 foreach ($ to ->getUsages () as $ usage ) {
101- $ tableName = $ this -> quoteIdentifier ( $ usage ->getTable () );
102- $ columnName = $ this -> quoteIdentifier ( $ usage ->getColumn () );
99+ $ tableName = $ usage ->getQuotedTableName ( $ this );
100+ $ columnName = $ usage ->getQuotedColumnName ( $ this );
103101 if (($ default = $ usage ->getDefault ()) !== null ) {
104102 $ result [] = sprintf ('ALTER TABLE %s ALTER COLUMN %s DROP DEFAULT ' , $ tableName , $ columnName );
105103 }
0 commit comments