2019年12月1日日曜日

手探りでマイエスキューエルシェる!

TL;DR

  • ドキュメントを読むのが面倒だから “TAB” 補完でがんばってみた
    • 優秀


この記事は MySQL Advent Calendar 2019 の1日目の記事です!

MySQL Shell は遊んでみたいけど、ドキュメントは読みたくない(面倒だから)
タブ補完だけでどんなメソッドがあるか探索しにいく!
$ mysqlsh
MySQL Shell 8.0.18

Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
 MySQL  JS > a^C
 MySQL  JS > break
break
 MySQL  JS > break^C
 MySQL  JS > c
case      catch     class     const     continue
 MySQL  JS > c^C
 MySQL  JS >
いかん、タブ補完だけで色々出てくるけど 俺にはそれがJS由来の何かなのか、MySQL Shellのなにかなのかがわからん…。
 MySQL  JS > d
db        dba       debugger  default   delete    dir()     do
 MySQL  JS > db
db   dba
 MySQL  JS > db.^C
 MySQL  JS > dba.
checkInstanceConfiguration()       deploySandboxInstance()            rebootClusterFromCompleteOutage()
configureInstance()                dropMetadataSchema()               startSandboxInstance()
configureLocalInstance()           getCluster()                       stopSandboxInstance()
createCluster()                    help()                             verbose
deleteSandboxInstance()            killSandboxInstance()
 MySQL  JS > dba.^C
さすがに dba はMySQL Shellだってわかるけどこれはしんどいかも知れない。
 MySQL  JS > db.help()
TypeError: Cannot read property 'help' of null

 MySQL  JS > dba.help()
NAME
      dba - Global variable for InnoDB cluster management.

DESCRIPTION
      The global variable dba is used to access the AdminAPI functionality and
      perform DBA operations. It is used for managing MySQL InnoDB clusters.

PROPERTIES
      verbose
            Enables verbose mode on the dba operations.

FUNCTIONS
      checkInstanceConfiguration(instance[, options])
            Validates an instance for MySQL InnoDB Cluster usage.
..
見分け方としてはこの、 help() メソッドが生えてればMySQL Shell側、生えてなければJS側だと思えばいいのかな…
 MySQL  JS > dba.checkInstanceConfiguration()
Dba.checkInstanceConfiguration: An open session is required to perform this operation. (RuntimeError)

 MySQL  JS > dba.help('checkInstanceConfiguration')
NAME
      checkInstanceConfiguration - Validates an instance for MySQL InnoDB
                                   Cluster usage.

SYNTAX
      dba.checkInstanceConfiguration(instance[, options])

WHERE
      instance: An instance definition.
      options: Data for the operation.
..
MySQL Shell由来のオブジェクトは help() メソッドに関数の名前をクォートして渡してやるとちゃんとドキュメントが生えてくる(?)っぽい。
あとは名前から何となく類推するくらいかなぁ…。
俺はドキュメント読みたくないけどこの手法でInnoDB Clusterサンドボックスの構築くらいはできるようになりました。タブ補完オススメ。

0 件のコメント :

コメントを投稿