Spec-Zone.ru › MySQL Workbench

9.7.2 Создание пользовательского шаблона

В простейшем случае шаблон состоит из двух файлов: файла шаблона с расширением .tpl и специального файла info.xml. Файл info.xml содержит важную метаданные о шаблоне. Дополнительный файл — файл предварительного просмотра изображения. Этот файл предоставляет миниатюрное изображение, иллюстрирующее внешний вид сгенерированного отчёта.

Один из самых простых способов создать пользовательский шаблон — скопировать любой существующий шаблон.

Например, следующая процедура описывает, как создать пользовательский шаблон на основе шаблона Text Basic.

  1. Перейдите в папку, где хранятся шаблоны. Предполагая, что MySQL Workbench установлен по умолчанию в Windows, это C:\Program Files\MySQL\MySQL Workbench 8.0 SE\modules\data\wb_model_reporting.

  2. Скопируйте папку Text_Basic.tpl. Копии можно присвоить любое подходящее имя, например, Custom_Basic.tpl.

  3. Отредактируйте файл info.xml, чтобы он соответствовал вашему пользовательскому шаблону. Неизменённый файл в данном случае показан здесь:

    <?xml version="1.0"?>
    <data>
      <value type="object" struct-name="workbench.model.reporting.TemplateInfo"
      id="{BD6879ED-814C-4CA3-A869-9864F83B88DF}" struct-checksum="0xb46b524d">
        <value type="string" key="description">
          A basic TEXT report listing schemata and objects.
        </value>
        <value type="string" key="name">HTML Basic Frame Report</value>
        <value type="list" content-type="object"
        content-struct-name="workbench.model.reporting.TemplateStyleInfo"
        key="styles">
          <value type="object" struct-name="workbench.model.reporting.TemplateStyleInfo"
          id="{7550655C-CD4B-4EB1-8FAB-AAEE49B2261E}" struct-checksum="0xab08451b">
            <value type="string" key="description">
              Designed to be viewed with a fixed sized font.
            </value>
            <value type="string" key="name">Fixed Size Font</value>
            <value type="string" key="previewImageFileName">
              preview_basic.png
            </value>
            <value type="string" key="styleTagValue">fixed</value>
          </value>
        </value>
        <value type="string" key="mainFileName">report.txt</value>
      </value>
    </data>
    

    В файле определены два объекта: объект TemplateInfo и объект TemplateStyleInfo. Эти объекты содержат информацию о шаблоне, которая будет отображаться на главной странице мастера отчетов DBDoc Model Reporting.

  4. Измените GUID объектов, используемые в файле. В данном примере необходимо заменить два:

    id="{BD6879ED-814C-4CA3-A869-9864F83B88DF}"
    ...
    id="{7550655C-CD4B-4EB1-8FAB-AAEE49B2261E}"
    

    Сгенерируйте два новых GUID. Это делается с помощью подходящего инструмента командной строки, а также существуют бесплатные онлайн-инструменты для генерации GUID. Функция MySQL UUID() также генерирует GUID:

    mysql> SELECT UUID();
    +--------------------------------------+
    | UUID()                               |
    +--------------------------------------+
    | 648f4240-7d7a-11e0-870b-89c43de3bd0a |
    +--------------------------------------+
    

    После получения новых значений GUID отредактируйте файл info.xml соответственно.

  5. Отредактируйте текстовую информацию для объектов TemplateInfo и TemplateStyleInfo, чтобы отразить назначение пользовательского шаблона.

  6. Изменённый файл будет примерно таким:

    <?xml version="1.0"?>
    <data>
      <value type="object" struct-name="workbench.model.reporting.TemplateInfo"
      id="{cac9ba3f-ee2a-49f0-b5f6-32580fab1640}" struct-checksum="0xb46b524d">
        <value type="string"
        key="description">
          Custom basic TEXT report listing schemata and objects.
        </value>
        <value type="string" key="name">Custom Basic text report</value>
        <value type="list" content-type="object"
        content-struct-name="workbench.model.reporting.TemplateStyleInfo" key="styles">
          <value type="object"
          struct-name="workbench.model.reporting.TemplateStyleInfo"
          id="{39e3b767-a832-4016-8753-b4cb93aa2dd6}" struct-checksum="0xab08451b">
            <value type="string" key="description">
              Designed to be viewed with a fixed sized font.
            </value>
            <value type="string" key="name">Fixed Size Font</value>
            <value type="string" key="previewImageFileName">preview_basic.png</value>
            <value type="string" key="styleTagValue">fixed</value>
          </value>
        </value>
        <value type="string" key="mainFileName">custom_report.txt</value>
      </value>
    </data>
    
  7. Создайте новый файл шаблона. Это также лучше всего достигается, в зависимости от ваших требований, путём редактирования существующего шаблона. В этом примере файл шаблона report.txt.tpl показан здесь:

    +--------------------------------------------+
    | MySQL Workbench Report                     |
    +--------------------------------------------+
    
    Total number of Schemas: {{SCHEMA_COUNT}}
    =============================================
    {{#SCHEMATA}}
    {{SCHEMA_NR}}. Schema: {{SCHEMA_NAME}}
    ----------------------------------------------
    ## Tables ({{TABLE_COUNT}}) ##
    {{#TABLES}}{{TABLE_NR_FMT}}. Table: {{TABLE_NAME}}
    {{#COLUMNS_LISTING}}## Columns ##
    Key  Column  Name  Datatype  Not Null  Default  Comment
    {{#COLUMNS}}{{COLUMN_KEY}}{{COLUMN_NAME}}{{COLUMN_DATATYPE}} »
    {{COLUMN_NOTNULL}}{{COLUMN_DEFAULTVALUE}}{{COLUMN_COMMENT}}
    {{/COLUMNS}}{{/COLUMNS_LISTING}}
    {{#INDICES_LISTING}}## Indices ##
    Index  Name  Columns  Primary  Unique  Type  Kind  Comment
    {{#INDICES}}{{INDEX_NAME}}{{#INDICES_COLUMNS}}{{INDEX_COLUMN_NAME}} »
    {{INDEX_COLUMN_ORDER}}{{INDEX_COLUMN_COMMENT}}{{/INDICES_COLUMNS}} »
    {{INDEX_PRIMARY}}{{INDEX_UNIQUE}}{{INDEX_TYPE}}{{INDEX_KIND}}{{INDEX_COMMENT}}
    {{/INDICES}}{{/INDICES_LISTING}}
    {{#REL_LISTING}}## Relationships ##
    Relationship  Name  Relationship  Type  Parent Table  Child Table Cardinality
    {{#REL}}{{REL_NAME}}{{REL_TYPE}}{{REL_PARENTTABLE}}{{REL_CHILDTABLE}}{{REL_CARD}}
    {{/REL}}{{/REL_LISTING}}
    ---------------------------------------------
    
    {{/TABLES}}
    {{/SCHEMATA}}
    =============================================
    End of MySQL Workbench Report
    

    Этот шаблон показывает детали для всех схем в модели.

  8. Представленный файл шаблона можно редактировать по своему усмотрению, добавляя новые маркеры и удаляя существующие по мере необходимости. Для примера пользовательского шаблона можно создать гораздо более простой шаблон, например, следующий:

    +--------------------------------------------+
    | MySQL Workbench Custom Report              |
    +--------------------------------------------+
    
    Total number of Schemata: {{SCHEMA_COUNT}}
    =============================================
    {{#SCHEMATA}}
    Schema Name: {{SCHEMA_NAME}}
    ----------------------------------------------
    ## Tables ({{TABLE_COUNT}}) ##
    
    {{#TABLES}}
    Table Name: {{TABLE_NAME}}
    {{/TABLES}}
    {{/SCHEMATA}}
    
    Report Generated On: {{GENERATED}}
    =============================================
    End of MySQL Workbench Custom Report
    

    Этот упрощённый отчёт просто перечисляет схемы и таблицы в модели. Дата и время генерации отчёта также отображаются в результате использования переменной {{GENERATED}}.

  9. Затем можно проверить пользовательский шаблон. Запустите MySQL Workbench, загрузите модель, для которой требуется сгенерировать отчёт, выберите в меню Модель, DBDOC — Отчёт по модели. Затем выберите новый пользовательский шаблон из списка доступных шаблонов, выберите каталог вывода и нажмите Готово, чтобы сгенерировать отчёт. Наконец, перейдите в каталог вывода, чтобы просмотреть завершённый отчёт.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/workbench-en/dbdoc-templates-custom.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API