
    
                         d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ ddlm	Z	 ddlm
Z
 ej                   G d	 d
ej                               Zy)7Migrate schema from a source database to Cloud Spanner.    )absolute_import)division)unicode_literalsN)base)flags)migration_backendc                   N    e Zd ZdZd ej
                  d      iZed        Zd Z	y)Schemar   EXAMPLESz|        To generate schema file from the source database:

          $ {command} --source=postgresql < ~/cart.pg_dump
      c                 4   t        j                         j                  |        t        j                         j                  |        t        j                         j                  |        t        j
                         j                  |        t        j                         j                  |        t        j                         j                  |        t        j                         j                  |        t        j                         j                  |        y)z$Register the flags for this command.N)
r   GetSpannerMigrationSourceFlagAddToParserGetSpannerMigrationPrefixFlag$GetSpannerMigrationSourceProfileFlagGetSpannerMigrationTargetFlag$GetSpannerMigrationTargetProfileFlagGetSpannerMigrationDryRunFlagGetSpannerMigrationLogLevelFlagGetSpannerMigrationProjectFlag)parsers    %lib/surface/spanner/migrate/schema.pyArgszSchema.Args(   s     
'')55f=	'')55f=	..0<<VD	'')55f=	..0<<VD	'')55f=	))+77?	((*66v>    c                 b   t        j                         }t        j                  ddi      } |d|j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |
      }|j                  | _        | j                  |      S )zRun the schema command.GCLOUD_HB_PLUGINtrue)
extra_varsschema)
commandsourceprefixsource_profiletargettarget_profiledry_run	log_levelprojectenv)r	   SpannerMigrationWrapperGetEnvArgsForCommandr!   r"   r#   r$   r%   r&   r'   r(   	exit_code _DefaultOperationResponseHandler)selfargscommand_executorenv_varsresponses        r   Runz
Schema.Run4   s    (@@B 55&/1H{{{{**{{**..H ''DN00::r   N)
__name__
__module____qualname____doc__textwrapdedentdetailed_helpstaticmethodr   r3    r   r   r   r      s=    ? 
(// 
 - 	? 	?;r   r   )r7   
__future__r   r   r   r8   googlecloudsdk.callioper   "googlecloudsdk.command_lib.spannerr   r	   DefaultUniverseOnlyBinaryBackedCommandr   r<   r   r   <module>rB      sF    > &  '  ( 4 @ *;T%% *; *;r   