ストアド プロシージャを使用して MySQL スキーマを GitHub Wiki マークダウンに変換する方法

DDD
リリース: 2024-11-26 20:52:09
オリジナル
248 人が閲覧しました

How to Convert MySQL Schema to GitHub Wiki Markdown Using Stored Procedures?

MySQL スキーマを GitHub Wiki マークダウンに変換する方法

課題:

MySQL のエクスポートデータベース スキーマをドキュメント用のマークダウン形式に変換する

解決策:

このタスクを達成するために 2 つのストアド プロシージャを使用します:

最初のストアド プロシージャ (describeTables_v2a):

このプロシージャは、スキーマ情報を

2 番目のストアド プロシージャ (Print_Tables_Like_Describe):

このプロシージャは、すべてのデータベースに対して MySQL の DESCRIBE ステートメントに似た出力を生成します。指定されたテーブルdatabase.

使用法:

  1. レポート対象のデータベースをパラメータとして descriptionTables_v2a に渡します。
  2. オプションで、削除するかどうかを指定しますセッションデータと自動的に呼び出すかどうかPrint_Tables_Like_Describe.
  3. 自動呼び出しが有効な場合は、出力が生成されて表示されます。
  4. 自動呼び出しが無効な場合は、手順 1 で取得したセッション # を使用して Print_Tables_Like_Describe を呼び出し、出力。

例:

SET @theOutVar =-1; -- A variable used as the OUT variable below

-- Call describeTables_v2a with auto-calling enabled
call Reporting101a.describeTables_v2a('stackoverflow', @theOutVar, false, true);
ログイン後にコピー

出力:

出力は次のようになります。 :

+--------------------------------------------------------------------------------------------+
|                                                                                            |
+--------------------------------------------------------------------------------------------+
| course                                                                                         |
| +------------+--------------+------+-----+---------+-------------------+
| | Field      | Type         | Null | Key | Default | Extra            |
| +------------+--------------+------+-----+---------+-------------------+
| | courseId   | int(11)      | NO   | PRI |         | auto_increment   |
| +------------+--------------+------+-----+---------+-------------------+
| | deptId     | int(11)      | NO   | MUL |         |                  |
| +------------+--------------+------+-----+---------+-------------------+
| | courseName | varchar(100) | NO   |     |         |                  |
| +------------+--------------+------+-----+---------+-------------------+
|                                                                                              |
| dept                                                                                           |
| +----------+--------------+------+-----+---------+-------------------+
| | Field    | Type         | Null | Key | Default | Extra            |
| +----------+--------------+------+-----+---------+-------------------+
| | deptId   | int(11)      | NO   | PRI |         | auto_increment   |
| +----------+--------------+------+-----+---------+-------------------+
| | deptName | varchar(100) | NO   |     |         |                  |
| +----------+--------------+------+-----+---------+-------------------+
|                                                                                              |
| scjunction                                                                                     |
| +------------+---------+------+-----+---------+-------------------+
| | Field      | Type    | Null | Key | Default | Extra            |
| +------------+---------+------+-----+---------+-------------------+
| | id         | int(11) | NO   | PRI |         | auto_increment   |
| +------------+---------+------+-----+---------+-------------------+
| | studentId  | int(11) | NO   | MUL |         |                  |
| +------------+---------+------+-----+---------+-------------------+
| | courseId   | int(11) | NO   | MUL |         |                  |
| +------------+---------+------+-----+---------+-------------------+
| | term       | int(11) | NO   |     |         |                  |
| +------------+---------+------+-----+---------+-------------------+
| | attendance | int(11) | NO   |     |         |                  |
ログイン後にコピー

以上がストアド プロシージャを使用して MySQL スキーマを GitHub Wiki マークダウンに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート