]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fix: Directly write the process enclosed in parentheses in get_column_specification
authorhuuyafwww <huuya1234fwww@gmail.com>
Fri, 4 Oct 2024 19:44:11 +0000 (04:44 +0900)
committerhuuyafwww <huuya1234fwww@gmail.com>
Fri, 4 Oct 2024 19:44:11 +0000 (04:44 +0900)
lib/sqlalchemy/dialects/mysql/base.py

index e28892ddf0e4d38ebe18a651ca17ffe8db9ad2df..8b96c264594402912c1bcbed6df19f082ac0f679 100644 (file)
@@ -1850,14 +1850,12 @@ class MySQLDDLCompiler(compiler.DDLCompiler):
         else:
             default = self.get_column_default_string(column)
             if default is not None:
-                colspec.append("DEFAULT " + default)
+                if isinstance(column.server_default.arg, functions.FunctionElement):
+                    colspec.append(f"DEFAULT ({default})")
+                else:
+                    colspec.append("DEFAULT " + default)
         return " ".join(colspec)
 
-    def get_column_default_string(self, column):
-        if hasattr(column.server_default, 'arg') and isinstance(column.server_default.arg, functions.FunctionElement):
-            return f'({super().get_column_default_string(column)})'
-        return super().get_column_default_string(column)
-
     def post_create_table(self, table):
         """Build table-level CREATE options like ENGINE and COLLATE."""