sqlalchemy-bot / test_alembic_1

0 stars 0 forks source link

system=True not generated for Column #515

Closed sqlalchemy-bot closed 5 years ago

sqlalchemy-bot commented 5 years ago

Migrated issue, originally created by Michael Bayer (zzzeek)

#!diff

diff --git a/tests/test_autogen_render.py b/tests/test_autogen_render.py
index 2bc8d82..fab3cc7 100644
--- a/tests/test_autogen_render.py
+++ b/tests/test_autogen_render.py
@@ -937,6 +937,15 @@ class AutogenRenderTest(TestBase):
             "server_default='5', nullable=True))"
         )

+    def test_render_add_column_system(self):
+        op_obj = ops.AddColumnOp(
+            "foo", Column("xmin", Integer, system=True))
+        eq_ignore_whitespace(
+            autogenerate.render_op_text(self.autogen_context, op_obj),
+            "op.add_column('foo', sa.Column('xmin', sa.Integer(), "
+            "nullable=True, system=True))"
+        )
+
     def test_render_add_column_w_schema(self):
         op_obj = ops.AddColumnOp(
             "bar", Column("x", Integer, server_default="5"),
sqlalchemy-bot commented 5 years ago

Michael Bayer (zzzeek) wrote:

https://gerrit.sqlalchemy.org/#/c/zzzeek/alembic/+/910

sqlalchemy-bot commented 5 years ago

Michael Bayer (zzzeek) wrote:

Dont autogenerate "system=True", render flag correctly

The system=True flag on :class:.Column, used primarily in conjunction with the Postgresql "xmin" column, now renders within the autogenerate render process, allowing the column to be excluded from DDL. Additionally, adding a system=True column to a model will produce no autogenerate diff as this column is implicitly present in the database.

Change-Id: Ie3aab9d489ebb9aecccbdf9d5b3ce8ccc42554bf Fixes: #515

→ af5586762905