
    g*                         S SK rS SKrS SKrS SKrS SKJr  S SKJr  SSKJ	r
  SSKJr  SSKJr  SSKJ	r	  SS	KJr  SS
KJr  S rSS jrS rS rS rSS jrSS jrSS jrSS jrS rS r S S jrS rS rS rS rg)!    N)config)	provision   )util   )command)script)Script)ScriptDirectoryc                  T    [         R                  (       a  S[         R                  -  $ g)Nz
scratch_%sscratch)r   FOLLOWER_IDENT     [/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/testing/env.py_get_staging_directoryr      s    i6666r   c                    [        5       nU (       a  [        R                  R                  [	        5       S5      n[        R                  R                  U5      (       a
   SU-  5       e[        R                  " X4US9  U(       aW   [        R                  " US5        US;   d   U5       e[        [        R                  R                  US5      SU;   a  SOS5        [        R                  R                  U5      nU$ ! [         a     Nlf = f)Nscriptsz2staging directory %s already exists; poor cleanup?)templateenv.py)pep3147_envonlysimplepep3147_everythingpep3147r   )_testing_configospathjoinr   existsr   initr   load_python_fileAttributeErrormake_sourcelessr	   r   from_config)creater   
sourcelesscfgr   scs         r   staging_envr)      s    

Cww||24i@77>>$'' 	
@4G	
' 	S2	%%dH5  "   	 
 T8,&*4	(
 
			+	+C	0BI% "  s   C< <
D	D	c                      SSK Jn   U R                  R                  5         [        R
                  " [        5       S5        g )Nr   enginesT)sqlalchemy.testingr,   testing_reaper	close_allshutilrmtreer   r+   s    r   clear_staging_envr2   :   s)    *$$&
MM(*D1r   c                    [         R                  R                  [        5       S5      n[         R                  R                  US5      n[	        US5       nUR                  U 5        S S S 5        g ! , (       d  f       g = f)Nr   zscript.py.makow)r   r   r   r   openwrite)txtdir_r   fs       r   script_file_fixturer:   A   sO    77<<.0)<D77<<./D	dCA	 
s   A00
A>c                 r   [         R                  R                  [        5       S5      nSU -   n [         R                  R                  US5      n[        R
                  " U5      nU(       a  [         R                  " U5        [        US5       nUR                  U 5        S S S 5        g ! , (       d  f       g = f)Nr   z6
from alembic import context

config = context.config
r   r4   )	r   r   r   r   r   pyc_file_from_pathunlinkr5   r6   )r7   r8   r   pyc_pathr9   s        r   env_file_fixturer?   H   s    77<<.0)<D	
 	  77<<h'D&&t,H
		(	dCA	 
s   B((
B6c                     [         R                  R                  [        5       S5      nSU< SU < 3nU(       a  [        R
                  (       a  X#S'   [        R                  " XQUS9$ )Nr   z
sqlite:////scope)urlfutureoptions)r   r   r   r   r   sqla_14testing_utiltesting_engine)tempnamerD   rB   rE   r8   rC   s         r   _sqlite_file_dbrJ   \   sH    77<<.0)<D#X
.C &&3wOOr   c                    [         R                  R                  [        5       S5      nSU-  nU=(       d'    S[        R
                  R                  R                  ;   n[        SU< SU< SU (       a  SOS< S	U(       a  S
OS< S3	5      $ )Nr   sqlite:///%s/foo.dbrD   
[alembic]
script_location = 
sqlalchemy.url = 
sourceless = truefalse
zsqlalchemy.future = true a  

[loggers]
keys = root,sqlalchemy

[handlers]
keys = console

[logger_root]
level = WARNING
handlers = console
qualname =

[logger_sqlalchemy]
level = DEBUG
handlers =
qualname = sqlalchemy.engine

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatters]
keys = generic

[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S
    	r   r   r   r   r   db	__class__
__module___write_config_file)r&   rD   r8   rC   sqlalchemy_futures        r   _sqlite_testing_configrZ   d   su    77<<.0)<D
$
&CN8vyy/B/B/M/M#ML  Fg-*;&CQ)	
+ +r   c                    [         R                  R                  [        5       S5      nS[        R
                  R                  R                  ;   nSU-  n[        SU< SU< SU(       a  SOS< S	U (       a  SOS< S
U< S35      $ )Nr   rD   rL   rM   rN   z
sqlalchemy.future = rP   rQ   rO   zH
version_locations = %(here)s/model1/ %(here)s/model2/ %(here)s/model3/ aL  

[loggers]
keys = root

[handlers]
keys = console

[logger_root]
level = WARNING
handlers = console
qualname =

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatters]
keys = generic

[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S
    rT   )r&   extra_version_locationr8   rY   rC   s        r   _multi_dir_testing_configr]      sr    77<<.0)<D FII$7$7$B$BB
$
&CD 'FW4 Fg-"K&	
( (r   c           	          [         R                  R                  [        5       S5      n[	        SU< SU < SU< S35      $ )zHuse a postgresql url with no host so that
connections guaranteed to failr   rM   rN   z://
aI  

[loggers]
keys = root

[handlers]
keys = console

[logger_root]
level = WARNING
handlers = console
qualname =

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatters]
keys = generic

[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S

)r   r   r   r   rX   )dialect
directivesr8   s      r   _no_sql_testing_configra      s8     77<<.0)<D@ *?	&! !r   c                     [        5       n[        UR                  S5       nUR                  U 5        S S S 5        U$ ! , (       d  f       U$ = f)Nr4   )r   r5   config_file_namer6   )textr'   r9   s      r   rX   rX      s?    

C	c""C	(A	 
)J 
)	(Js	   =
Ac                  
   SSK Jn   [        R                  " [	        5       [        R
                  5      (       d  [        R                  " [	        5       5        U " [        R                  R                  [	        5       S5      5      $ )Nr   Configztest_alembic.ini)	alembic.configrg   r   accessr   F_OKmkdirr   r   rf   s    r   r   r      sM    %99+-rww77
')*"'',,579KLMMr   c                    U R                   R                  U5      nUR                  n[        R                  " U5      nU(       a  UR                  U5      n[        US5       nUR                  U5        S S S 5        [        R                  " U5      nU(       a  [        R                  " U5        [        R                  " X5      n	U R                   R                  U	R                  5      nUR                  U	R                  :w  a  [!        S5      eU R                   R#                  U	SS9  U(       a  [%        XdS:X  a  SOS5        g g ! , (       d  f       N= f)Nwbz2Can't change down_revision on a refresh operation.T)_replacer   r   r   )revision_mapget_revisionr   textwrapdedentencoder5   r6   r   r<   r   r=   r
   
_from_pathrevisiondown_revision	Exceptionadd_revisionr#   )
	scriptdirrev_idcontentencodingr&   oldr   fpr>   r	   s
             r   write_scriptr      s    
 
 
-
-f
5C88Doog&G..*	dD	R
 
&&t,H
		(y/F

 
 
-
-foo
>C
F000C
 	
 '''>-AA)x	
  
	s   "E
Ec                    SS K nUR                  U 5        US:X  aq  [        R                  " U 5      n[        R
                  R                  S   n[        R                  R                  U 5      u  pVXT-   n[        R                  " X75        UnOUS;   d   e[        R                  " U 5      n[        R                  " U[        R                  5      (       d   e[        R                  " U 5        g )Nr   r   )r   r   )
py_compilecompiler   r<   	importlib	machineryBYTECODE_SUFFIXESr   r   splitextr0   moveri   rj   r=   )r   styler   r>   suffixfilepathextsimple_pyc_paths           r   r#   r#     s    t**40$$66q9((."+H."----**4099Xrww''''IIdOr   c           	         [         R                  " 5       n[         R                  " 5       n[         R                  " 5       n[        R                  " U 5      nUR                  " USSSS9  [        UUSU-  5        UR                  " USSUS9  [        UUSU SU S	3S
S9  UR                  " USSUS9  [        UUSU< SU< S35        XU4$ )Nz
revision aTbase)refreshheadz"Rev A"
revision = '%s'
down_revision = None

from alembic import op


def upgrade():
    op.execute("CREATE STEP 1")


def downgrade():
    op.execute("DROP STEP 1")

z
revision bu/   # coding: utf-8
"Rev B, méil, %3"
revision = ''
down_revision = 'z}'

from alembic import op


def upgrade():
    op.execute("CREATE STEP 2")


def downgrade():
    op.execute("DROP STEP 2")

zutf-8)r|   z
revision cz"Rev C"
revision = 'z}'

from alembic import op


def upgrade():
    op.execute("CREATE STEP 3")


def downgrade():
    op.execute("DROP STEP 3")

r   rz   r   r$   generate_revisionr   )r'   abcr	   s        r   three_rev_fixturer   1  s    AAA((-F
QdH		  !	, QdC	C  	  ', QdC	" a!	* 7Nr   c           	         [         R                  " 5       n[         R                  " 5       n[         R                  " 5       n[        R                  " U 5      nUR                  " USUSSS9  [        UUSU< SU< S35        UR                  " USUSSS9  [        UUSU< SU< S	35        UR                  " US
USSS9  [        UUSU< SU< S35        XEU4$ )z:Create a multiple head fixture from the three-revs fixturezrevision d from bT)r   splicer   z"Rev D"
revision = 'r   z}'

from alembic import op


def upgrade():
    op.execute("CREATE STEP 4")


def downgrade():
    op.execute("DROP STEP 4")

zrevision e from dz"Rev E"
revision = 'z}'

from alembic import op


def upgrade():
    op.execute("CREATE STEP 5")


def downgrade():
    op.execute("DROP STEP 5")

zrevision f from bz"Rev F"
revision = 'z}'

from alembic import op


def upgrade():
    op.execute("CREATE STEP 6")


def downgrade():
    op.execute("DROP STEP 6")

r   )r'   r   r   r   der9   r	   s           r   multi_heads_fixturer   ~  s     	AAA((-F
	QtT 	" a!	, 	QtT 	" a!	, 	QtT 	" a!	, 7Nr   c                 t   [         R                  R                  [        5       S5      nS[        R
                  R                  R                  ;   nSR                  U R                  5       5      nSR                  S U R                  5        5       5      n [        SU< SU(       a  SOS	< S
U< SU < S3	5      $ )z?alembic.ini fixture to work exactly with the 'multidb' templater   rD   z, z

c              3   N   #    U  H  u  pS U< SUR                   < 3v   M     g7f)[z]
sqlalchemy.url = N)rC   ).0keyvalues      r   	<genexpr>*_multidb_testing_config.<locals>.<genexpr>  s$      )JC +.uyy9)s   #%rM   z(
sourceless = false
sqlalchemy.future = rP   rQ   z
databases = aK  
[loggers]
keys = root

[handlers]
keys = console

[logger_root]
level = WARNING
handlers = console
qualname =

[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic

[formatters]
keys = generic

[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S
    )r   r   r   r   r   rU   rV   rW   keysitemsrX   )r,   r8   rY   	databasess       r   _multidb_testing_configr     s     77<<.0)<D FII$7$7$B$BB		',,.)Ikk !--/ G
 B ,'99gA 	O" "r   )TgenericF)zfoo.dbFN)FF)FrS   )
postgresqlrS   )asciiF)importlib.machineryr   r   r0   rq   r-   r   r   rS   r   rG   r   r	   r
   r   r   r)   r2   r:   r?   rJ   rZ   r]   ra   rX   r   r   r#   r   r   r   r   r   r   <module>r      s     	   % ( "     $D2(P1h.b%PN >C
8*JZVr/r   