XׯdCzddlmZddlZddlmZddlmZddlmZeddd Z d Z e ej ej jej jejd Ze ejej jejd Ze ejej jejd ZiZdZe ej ej jejdZe ej ej jdZe ej ej jdZdZe ejej jdZe ejej jejdZe ej ejej jejdZ e ej ej jej jejejej j!fdZ"e ej jej jdZ#e ejej jdZ$dS)) DefineModuleN)db_utils)NotConnectedError)Version DbMySQLFEz Oracle Corp.z1.0)nameauthorversionc  d d fd }|jD]c}tjjjjd}||jdr ||jnd}||jdr ||jnd}|||||jD]g}||||jd|jD]8} || jd} | r d|zdz| z} || | |9h|j D]'} || || jd(|j D]8} || jd} | r d|zdz| z} || | |9edS) Ncj|jr+dd|dz}|S)Nz-- z --  ) commentedOutjoinsplit)objsqls ..\modules\db_mysql_fe_grt.py comment_outz-apply_scripts_to_catalog..comment_out!s2   6 SYYt__555C ;cZ|r ||zdz|z}|jddr2|r.|||jd<|||k|jd<dSdS|jddr|jd=|jd=||||_dSd|jz|_dS)Nr zmigration:lock_temp_sqlFzmigration:new_temp_sqlzmigration:temp_sql_changedz!-- no script was generated for %s) customDatagettemp_sqlr)rrdrop_sqldelimrs r apply_scriptz.apply_scripts_to_catalog..apply_script&s  *5.%c)C >  7 ? ? N \;F;sC;P;P78?BkkRUWZF[F[?[;<<< \ \~!!":EBB AN#;<N#?@*{344 BSXM r SqlDelimiterFz DELIMITER r )r)Nr) schematagrtrootwboptionsr__id__tablestriggersviewsroutines)catalogcreate_scripts drop_scriptsrschema delimiter create_schema drop_schematabletriggerrviewroutiners @rapply_scripts_to_catalogr4 s NNNNNN "::HK'/? 9G9K9KFM[`9a9akv}55gk 5A5E5EfmUZ5[5[fl6=11bf  V]K888] > >E L 2 25< F F G G G > > >$((>>@&2T9C?C Wc9=====  > L F FD L~11$+tDD E E E E : :G $$W^T::C :"Y.5c9 L#y 9 9 9 9 9  :::rctj}||d|d<d|d<|r8tjj|j|j|j|d<tjj tj ||}| ddri}nBtjj |tj |}t|||t||}||jd<t!||}||jd<d S) NGenerateWarningsUseOIDAsResultDictKey DBSettings KeepSchemataFmigration:preamblemigration:postambler)r DictupdatemodulesDbMySQLgetTraitsForServerVersion majorNumber minorNumber releaseNumbergenerateSQLForDifferencesclassesdb_mysql_Catalogrr4getSchemaCreatePreamblergetSchemaCreatePostamble)r) targetVersionobjectCreationParamsr#r*r+preamble postambles rgenerateSQLCreateStatementsrNKsIhjjG NN'((( #$G '(G #$a # 3 M MmNgivjCERE`!a!a [(BB3;C_C_CaCacjlsttN66w {*DDWckNjNjNlNlnuvv WnlCCC&w0DEEH/7G+,(2FGGI09G,- 1rcvtj}d|_d|_|j|_|S)NPreamblezSET FOREIGN_KEY_CHECKS = 0;r rFdb_DatabaseDdlObjectr sqlDefinitionrr)rKrs rrHrHes3 + * * , ,CCH9C$CL Jrcvtj}d|_d|_|j|_|S)N PostamblezSET FOREIGN_KEY_CHECKS = 1;rQrTs rrIrIms3 + * * , ,CCH9C$CL Jrcp|jtvrt|jStd|jz)NzNo open connection to %s)r$ _connectionsrhostIdentifier)connection_objects rget_connectionr[ws7<//-455 :=N=] ]^^^rc t|} |nh#t$r[tjd|jz||tjdYnwxYwny#t$rltj ||}tjd|jz|tjd|t|j <YnwxYwdS)NzReconnecting to %s...zConnection reestablished)passwordzConnecting to %s... Connectedr6) r[ping Exceptionr send_inforY disconnectconnectrrMySQLConnectionrXr$) connectionr]cons rrcrc~s.Z(( 6 HHJJJJ 6 6 6 M1J4MM N N N NN    KKMMM M4 5 5 5 5 5  6 ...&zHEEE +j.GGHHH  k"""*- Z&''' . 1s3B'BA"B  B B  BA3DDc|jtvr1t|jt|j=dS)Nr)r$rXrbres rrbrbs:L((Z&'22444 * + 1rc&|jtvrdndS)Nr6r)r$rXrhs r isConnectedrjs!\1111q8rc t|}tjj|}|D]\}}tjrtj||||z} tjd|tjdd|z| |}#tj $r}|rZtj }||_t||_d|_|j|tjd|ztjdd|d|dYd}~d Sd}~wt,$r}|r]tj }||_d t|z|_d|_|j|tjd |ztjdd|d|dYd}~d Sd}~wwxYw|rFtj }||_d |_|j|d S)NzExecute statementrz Execute %s z%szException executing 'z': r Fz Exception: zException caught: %srT)r[r r?MysqlSqlFacadegetSqlStatementRanges query_status UserInterruptra log_debug3executer QueryErrorrF GrtLogEntryownerstrr entryTypeentriesappend send_warning log_errorr`) rescriptlograngesstartlength statementexcentrys rexecute_scriptrs` ++J [ ' = =f E EF v     &#%% %5v-.   M-y 9 9 9 N;(B C C C   y ) ) ) )"    * //11!  XX "# ""5)))  TCZ ( ( ( M++999VYVYVY'Z [ [ [555555    * //11! *SXX5 "# ""5)))  3c9 : : : M++999VYVYVY'Z [ [ [555555  " ''))  5!!! 4s'0AB33HBE H%BG>>HcBg}t|d}tjrtj|rR|r>||d|r|>|S)z:Returns a list of schemas for the given connection object.zSHOW DATABASESr6r[ executeQueryr rorpnextRowry stringByIndex)renamesresults rgetSchemaNamesrs E J ' ' 4 45E F FF "!!! .V^^%%. V))!,,--- .V^^%%. LrcHg}t|d|z}tjrtj|rR|r>||d|r|>|S)zQReturns a list of the tables in the given schema for the given connection object.zSHOW TABLES FROM `%s`r6r)rer,rrs r getTableNamesrs E J ' ' 4 45Lv5U V VF "!!! .V^^%%. V))!,,--- .V^^%%. Lrc d}ddl}t|d}|ddd|jDddd |jDd |d t jtj j j j d |j d }|r$|jr||jdz|jD]}||d|j||jdz|jD]M}||d|jd|j||jdzN|jD]M} ||d|jd| j|| jdzN|jD]J} ||d|jd| j|| jK|jD]W}|jD]M} ||d|jd| j|| jdzNX|j d} | r$| jr|| jdz|dS)zCreate a CREATE script with the catalog objects. The catalog must have been previously processed with generateSQLCreateStatements(), so that the objects have their temp_sql attributes set with their respective SQL CREATE statements. cd|d|d}|S)NzT -- ---------------------------------------------------------------------------- --  zQ -- ---------------------------------------------------------------------------- )typertexts robject_headingz5createScriptForCatalogObjects..object_headings!  ttTTT   rrNzw+z-- ---------------------------------------------------------------------------- -- MySQL Workbench Migration -- Migrated Schemata: z, cg|] }|j Sr)r.0ss r z1createScriptForCatalogObjects..s333Q!&333rz -- Source Schemata: cg|] }|j Sr)oldNamers rrz1createScriptForCatalogObjects..s@e@e@eq@e@e@erz -- Created: z -- Workbench Version: zR -- ---------------------------------------------------------------------------- r;r Schemaz; Table.ViewRoutineTriggerr<r6)timeopenwriterrctimerfromgrtr r!r"infor rrrr%r'r(r&close) pathr)rKrrfilerLr,r0r2r3r1rMs rcreateScriptForCatalogObjectsrsOKKK d  DJJJ yy33'"23334444dii@e@eT[Td@e@e@e6f6f6f6fhlhrhrhthththtv}wFGJGOGRGWG_w`w`w`w`abbb!"67H+H%+ 8$T)***"33 >>(FK88999 6?5()))] - -E JJ~~g&+++uzz/RSS T T T JJu~e+ , , , ,L , ,D JJ~~fdii.PQQ R R R JJt}U* + + + + ) )G JJ~~iFKKK1VWW X X X JJw' ( ( ( (] 3 3E > 3 3 >>) W\\5Z[[\\\ 7+E12222 3 3 "#89I,Y', 9%d*+++JJLLL 1rc ( fd} tjdd|jz|jd}tjddt ||j||d}|jD]"}tj||dt|jz z|dt|jz z }|j r1tjdd|j ztj t|j t|j zt|jztd|j Dz}tjdd |j zt ||j||d } d } d } d } d } |j D]}|j r6tjt!| |z d |j d |j n5tjt!| |z d |j d |j | dz } |j s$t ||j||r| dz } |j D]}|j r6tjt!| |z d|j d |j n5tjt!| |z d|j d |j | dz } |j s$t ||j||r| dz } |jD]}|j r6tjt!| |z d|j d |j n5tjt!| |z d|j d |j | dz } |j s$t ||j||r| dz } |j D]}|jD]}|j r>tjt!| |z d|j d |j d |j n=tjt!| |z d|j d |j d |j | dz } |j s$t ||j||r| dz } tjd| | | |j fztj $|jd}tjddt ||j||tjddn(#tj$rtjdwxYwdS)a Create catalog objects in the server for the specified connection. The catalog must have been previously processed with generateSQLCreateStatements(), so that the objects have their temp_sql attributes set with their respective SQL CREATE statements. c.makeLogObject,sA  "+**,,CCM   s # # #J4rgz/Creating schema in target MySQL server at %s...r;zExecuting preamble script...g?zSkipping schema %s... c6g|]}t|jSr)lenr&)rr0s rrz(createCatalogObjects..Fs>YIYIYIqvY\]b]kYlYlYIYIYIrzCreating schema %s...rzSkipping table rzCreating table r6zSkipping view zCreating view zSkipping routine zCreating routine zSkipping trigger zCreating trigger zKScripts for %i tables, %i views and %i routines were executed for schema %sr<zExecuting postamble script...zSchema createdz>>z8#4mmH6M6MNNN &9 $9 $F  #Aq3W5E1F1F+F'F G G G s7+,,, ,A" !#'?&+'MNNN%''' &&V\):)::S=Q=QQTWYIYI{A{HYIYIYIUJUJJE  c#:V[#H I I I :v f8M8M N N NFFFGA  %l%eAhh&6&6RXR]R]R]_d_i_i8jkkkk%eAhh&6&6RXR]R]R]_d_i_i8jkkkQ) nZYfYfglYmYm.n.n aKF   $j%eAhh&6&6QWQ\Q\Q\^b^g^g8hiiii%eAhh&6&6QWQ\Q\Q\^b^g^g8hiiiQ( ^J WdWdeiWjWj-k-k aKF!?  'p%eAhh&6&6TZT_T_T_ahamam8noooo%eAhh&6&6TZT_T_T_ahamam8noooQ+ z7K[]j]jkr]s]s0t0t aKF % %$~%%G+C)%((U*:*:[a[f[f[fhmhrhrhrt{uAuA=BCCCC)%((U*:*:[a[f[f[fhmhrhrhrt{uAuA=BCCCFA"/%N:wO_ananovawaw4x4x%1 % Mgkqsy|BDJDOkPP Q Q Q  ! # # # #&'<=  #>???z9#5}}Y7O7OPPP #/0000   TUUU  1s S!S**%Tct|}|r|d}|r|rddl}|d|d}|r||rhtj }d|Ddgdzz}|dd\|_ |_ |_ |_ |SdS)zNReturns a GrtVersion instance containing information about the server version.zSHOW VARIABLES LIKE 'version'rNz([0-9]*)\.([0-9]*)\.([0-9]*)rlc,g|]}t|Sr)int)rns rrz$getServerVersion..s888SVV888r)r[rrrematchrgroupsr rF GrtVersionrBrCrD buildNumber)reconnrrpr ver_partss rgetServerVersionrs * % %D ""#BCC  fnn&&  III79M9Ma9P9PQQA QXXZZ +002288QXXZZ888A3q5@ gpqsrsqsgtd#W%8':OQXQd 4rc t|}|r{|d}|rd|rP|ddvrdSdvrdSt fddDrdSdS) NzSELECT @@version_compile_osr6linuxwinwindowsc3 K|]}|vV dSrr)ros compile_oss r zgetOS..s(AA"R:%AAAAAAr)osxmacosdarwin)r[rrrlowerany)rerrrs @rgetOSrs * % %D  ""#@AA  fnn&& --a006688J*$$w*$$ yAAAA0@AAAAA x 4r)%r"rr workbenchrworkbench.exceptionsrworkbench.utilsr ModuleInfor4exportINTrFrGrDICTrNSTRINGrHrIrXr[db_mgmt_ConnectionrcrbrjrLISTrrr=rrrrrrrrrs|, 222222######\ ^U S S S (:(:(:V 37CK8#+:PRURZ[[  \[ 2 3:s{;SXFFGF 3:s{;SXFFGF ___ 37CK:CJGG  HG & 37CK:;;  <;  37CK:;;99<;9'''T 38S[;<<  =<  38S[;SZHH  IH  37CJ (DchOO< < PO< ~ 37CK:CK>  ?>   r