File tree Expand file tree Collapse file tree 3 files changed +25
-0
lines changed Expand file tree Collapse file tree 3 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -813,6 +813,8 @@ def _render_server_default(
813
813
return _render_potential_expr (
814
814
default .arg , autogen_context , is_server_default = True
815
815
)
816
+ elif isinstance (default , sa_schema .FetchedValue ):
817
+ return _render_fetched_value (autogen_context )
816
818
817
819
if isinstance (default , str ) and repr_ :
818
820
default = repr (re .sub (r"^'|'$" , "" , default ))
@@ -850,6 +852,12 @@ def _render_identity(
850
852
}
851
853
852
854
855
+ def _render_fetched_value (autogen_context : AutogenContext ) -> str :
856
+ return "%(prefix)sFetchedValue()" % {
857
+ "prefix" : _sqlalchemy_autogenerate_prefix (autogen_context ),
858
+ }
859
+
860
+
853
861
def _repr_type (
854
862
type_ : TypeEngine ,
855
863
autogen_context : AutogenContext ,
Original file line number Diff line number Diff line change
1
+ .. change ::
2
+ :tags: bug, autogenerate
3
+ :tickets: 1633
4
+
5
+ Fixed the rendering of ``server_default=FetchedValue() `` to ensure it is
6
+ preceded by the ``sa. `` prefix in the migration script. Pull request
7
+ courtesy david-fed.
Original file line number Diff line number Diff line change 11
11
from sqlalchemy import DateTime
12
12
from sqlalchemy import DefaultClause
13
13
from sqlalchemy import Enum
14
+ from sqlalchemy import FetchedValue
14
15
from sqlalchemy import ForeignKey
15
16
from sqlalchemy import ForeignKeyConstraint
16
17
from sqlalchemy import func
@@ -2083,6 +2084,15 @@ def test_render_server_default_int(self):
2083
2084
"server_default='0', nullable=True)" ,
2084
2085
)
2085
2086
2087
+ def test_render_server_default_fetched_value (self ):
2088
+ c = Column ("value" , Integer , server_default = FetchedValue ())
2089
+ result = autogenerate .render ._render_column (c , self .autogen_context )
2090
+ eq_ (
2091
+ result ,
2092
+ "sa.Column('value', sa.Integer(), "
2093
+ "server_default=sa.FetchedValue(), nullable=True)" ,
2094
+ )
2095
+
2086
2096
def test_render_modify_reflected_int_server_default (self ):
2087
2097
op_obj = ops .AlterColumnOp (
2088
2098
"sometable" ,
You can’t perform that action at this time.
0 commit comments