|L i(TddlmZddlZddlmZddlmZddlmZddlmZddlm Z ddlm Z dd l m Z dd lmZdd lmZdd lmZd dlmZd dlmZd dlmZd dlmZd dlmZerZ;e e0 dQd?Z<e e1 dRd@Z=e e2 dSdAZ> dTdBZ? dUdCZ@ dVdDZA dWdEZBdXdFZC dYdGZD dZ d[dHZEd\dIZF dZ d]dJZGy)^) annotationsN)Optional) TYPE_CHECKING)Union)exc)Integer)types)compiles)Column) DDLElement) quoted_name)_columns_for_constraint) _find_columns)_fk_spec)_is_type_bound)_table_for_constraint)Any)Computed)Identity)Compiled) DDLCompiler) TextClause)Function) FetchedValue) TypeEngine) DefaultImplrrz Function[Any]c&eZdZdZ d ddZy) AlterTablezRepresent an ALTER TABLE statement. Only the string name and optional schema name of the table is required, not a full Table object. Nc ||_||_yN) table_nameschema)selfr#r$s V/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/alembic/ddl/base.py__init__zAlterTable.__init__2s % r")r#strr$!Optional[Union[quoted_name, str]]returnNone)__name__ __module__ __qualname____doc__r'r(r&r r *s-592  r(r c2eZdZ d dfd ZxZS) RenameTablec6t|||||_yN)r$)superr'new_table_name)r%old_table_namer7r$ __class__s r&r'zRenameTable.__init__<s 7,r(r")r8r)r7Union[quoted_name, str]r$r*r+r,r-r.r/r' __classcell__r9s@r&r3r3;s8 59 --0-2 -  --r(r3cJeZdZ d dfd ZxZS) AlterColumnct|||||_|tj|nd|_||_||_||_yr5) r6r' column_namesqltypes to_instance existing_typeexisting_nullableexisting_server_defaultexisting_comment) r%namerAr$rDrErFrGr9s r&r'zAlterColumn.__init__Gs\ f-&(   /  "3'>$ 0r()NNNNN)rHr)rAr)r$ Optional[str]rDzOptional[TypeEngine]rEOptional[bool]rFOptional[_ServerDefault]rGrIr+r,r;r=s@r&r?r?Fsl !%.2,0<@*.111 1 , 1 * 1":1(1 11r(r?c0eZdZ dfd ZxZS)ColumnNullablec 6t|||fi|||_yr")r6r'nullable)r%rHrArOkwr9s r&r'zColumnNullable.__init__^s  {1b1  r()rHr)rAr)rOboolr+r,r;r=s@r&rMrM]s-!!&)!59! !!r(rMc0eZdZ dfd ZxZS) ColumnTypec \t|||fi|tj||_yr")r6r'rBrCtype_)r%rHrArUrPr9s r&r'zColumnType.__init__fs+ {1b1))%0 r()rHr)rAr)rUrr+r,r;r=s@r&rSrSes-11&)12<1 11r(rSc0eZdZ dfd ZxZS) ColumnNamec 6t|||fi|||_yr")r6r'newname)r%rHrArYrPr9s r&r'zColumnName.__init__n  {1b1 r()rHr)rAr)rYr)r+r,r;r=s@r&rWrWms-&)47 r(rWc0eZdZ dfd ZxZS) ColumnDefaultc 6t|||fi|||_yr"r6r'defaultr%rHrAr_rPr9s r&r'zColumnDefault.__init__vs  {1b1 r()rHr)rAr)r_rKr+r,r;r=s@r&r\r\us3*   r(r\c0eZdZ dfd ZxZS)ComputedColumnDefaultc 6t|||fi|||_yr"r^r`s r&r'zComputedColumnDefault.__init__rZr()rHr)rAr)r_zOptional[Computed]r+r,r;r=s@r&rbrbs-&)4F r(rbc4eZdZ dfd ZxZS)IdentityColumnDefaultc Dt|||fi|||_||_yr")r6r'r_impl)r%rHrAr_rgrPr9s r&r'zIdentityColumnDefault.__init__s' {1b1  r() rHr)rAr)r_zOptional[Identity]rgrr+r,r;r=s@r&reres=   $      r(rec8eZdZ d dfd ZxZS) AddColumncDt|||||_||_yr5)r6r'column if_not_exists)r%rHrkr$rlr9s r&r'zAddColumn.__init__s& f- *r(NN) rHr)rk Column[Any]r$r*rlrJr+r,r;r=s@r&ririsE 59(, + + +2 + & +  + +r(ric8eZdZ d dfd ZxZS) DropColumncDt|||||_||_yr5)r6r'rk if_exists)r%rHrkr$rrr9s r&r'zDropColumn.__init__s% f- "r(rm) rHr)rkrnr$rIrrrJr+r,r;r=s@r&rprpsE !%$( # # # # " #  # #r(rpc0eZdZ dfd ZxZS) ColumnCommentc 6t|||fi|||_yr")r6r'comment)r%rHrArvrPr9s r&r'zColumnComment.__init__rZr()rHr)rAr)rvrIr+r,r;r=s@r&rtrts-&)4A r(rtc t||j|jdt||j|jS)Nz RENAME TO ) alter_tabler#r$format_table_namer7elementcompilerrPs r&visit_rename_tabler}s: Hg00'..A(G$:$:GNNK r(c t||j|jdt||jfd|j i|S)N rl)rxr#r$ add_columnrkrlrzs r&visit_add_columnrsK Hg00'..A gnn 4;4I4I MO  r(c t||j|jdt||jj fd|j i|S)Nrrr)rxr#r$ drop_columnrkrHrrrzs r&visit_drop_columnrsQ Hg00'..A gnn)) 5<5F5F JL  r(c t||j|jdt||jd|j rdSdS)Nrz DROP NOT NULLz SET NOT NULL)rxr#r$ alter_columnrArOrzs r&visit_column_nullablersU Hg00'..AXw223"++? 2@? r(c t||j|jdt||jddt ||j zS)NrzTYPE %s)rxr#r$rrA format_typerUrzs r&visit_column_typersG Hg00'..AXw223K'--88 r(c t||j|jdt||jdt||j S)Nz RENAME z TO )rxr#r$format_column_namerArYrzs r&visit_column_namersB Hg00'..A8W%8%898W__5 r(c t||j|jdt||jd|j dt ||j zSdS)NrzSET DEFAULT %sz DROP DEFAULT)rxr#r$rrAr_format_server_defaultrzs r&visit_column_defaultrso Hg00'..AXw223* 4XwO O      r(c ,tjd)NztAdding or removing a "computed" construct, e.g. GENERATED ALWAYS AS, to or from an existing column is not supported.r CompileErrorrzs r&visit_computed_columnrs    E r(c ,tjd)NzAdding, removing or modifying an "identity" construct, e.g. GENERATED AS IDENTITY, to or from an existing column is not supported in this dialect.rrzs r&visit_identity_columnr s    3 r(ct|tr||Sdj|jdDcgc] }|| c}}|Scc}w)z#quote the elements of a dotted name.) isinstancer joinsplit)rHquotexresults r& quote_dottedrsG $ $T{ XXC9AuQx9 :F M:sActj|jj}|rt ||dz||zS||S)Nr) functoolspartialpreparerrr)r|rHr$rs r&ryry#sH   h//55 6E FE*S05;>>T{r(c8|jj|Sr")rrr|rHs r&rr/s    " "4 ((r(cP|jtdt|}|J|S)Nr)server_default)get_column_default_stringr r)r|r_ default_strs r&rr5s4 44sGG4K  "" " r(cL|jjj|Sr")dialect type_compilerprocess)r|rUs r&rrBs    ) ) 1 1% 88r(c"dt|||zS)NzALTER TABLE %s)ry)r|rHr$s r&rxrxFs /$G GGr(c ,d|rdndt||S)Nz DROP COLUMN z IF EXISTS r)r|rHrrrPs r&rrNs"" r)8T* r(c dt||zS)NzALTER COLUMN %srrs r&rrWs 1(DA AAr(c d|rdndj|fi|}djfd|jD}|r|d|zz }|S)Nz ADD COLUMN zIF NOT EXISTS rrc3@K|]}j|ywr")r).0 constraintr|s r& zadd_column..fs!)3$s)get_column_specificationr constraints)r|rkrlrPtextconsts` r&rr[sg*r1)))&7B7 D HH7=7I7I E  e  Kr()r{r3r|rr+r))r{rir|rr+r))r{rpr|rr+r))r{rMr|rr+r))r{rSr|rr+r))r{rWr|rr+r))r{r\r|rr+r))r{rbr|r)r{rer|r)rHr:rzfunctools.partialr+r:)r|rrHr:r$r*r+r:)r|rrHr*r+r:)r|rr_rKr+r))r|rrUrr+r))r|rrHr)r$rIr+r)r")r|rrHr)rrrJr+r))r|rrHr)r+r))r|rrkrnrlrJr+r))H __future__rrtypingrrr sqlalchemyrrr rBsqlalchemy.ext.compilerr sqlalchemy.schemar r sqlalchemy.sql.elementsr util.sqla_compatrrrrrrrrsqlalchemy.sql.compilerrrrsqlalchemy.sql.functionsrsqlalchemy.sql.schemarsqlalchemy.sql.type_apirrgrr)_ServerDefaultr r3r?rMrSrWr\rbrerirprtr}rrrrrrrrrryrrrrxrrrr1r(r&rs^# (,$(/6,'-4##032122!|^_cIJ"-*-1*1.![!11 K K K  + + # #K + $/ ) * . '2 * * -   &1      ".9!   ".9! !*;   !  .  ))!B))   %   9HH H H HCG!$1?B%) "  r(