set index attributes before events are called

Issue #2835 resolved
Mike Bayer repo owner created an issue
diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py
index 92220b0..a8b60e0 100644
--- a/lib/sqlalchemy/sql/schema.py
+++ b/lib/sqlalchemy/sql/schema.py
@@ -2600,14 +2600,14 @@ class Index(ColumnCollectionMixin, SchemaItem):
                     columns.append(expr)

         self.expressions = expressions
+        self.name = quoted_name(name, kw.pop("quote", None))
+        self.unique = kw.pop('unique', False)
+        self.kwargs = kw

         # will call _set_parent() if table-bound column
         # objects are present
         ColumnCollectionMixin.__init__(self, *columns)

-        self.name = quoted_name(name, kw.pop("quote", None))
-        self.unique = kw.pop('unique', False)
-        self.kwargs = kw

     def _set_parent(self, table):
         ColumnCollectionMixin._set_parent(self, table)

else impossible to use parent attach events for an inline index to set up name

Comments (2)

  1. Log in to comment