9.7.2 Создание пользовательского шаблона
В простейшем случае шаблон состоит из двух файлов: файла шаблона с расширением .tpl и специального файла info.xml. Файл info.xml содержит важную метаданные о шаблоне. Дополнительный файл — файл предварительного просмотра изображения. Этот файл предоставляет миниатюрное изображение, иллюстрирующее внешний вид сгенерированного отчёта.
Один из самых простых способов создать пользовательский шаблон — скопировать любой существующий шаблон.
Например, следующая процедура описывает, как создать пользовательский шаблон на основе шаблона Text Basic.
Перейдите в папку, где хранятся шаблоны. Предполагая, что MySQL Workbench установлен по умолчанию в Windows, это
C:\Program Files\MySQL\MySQL Workbench 8.0 SE\modules\data\wb_model_reporting.Скопируйте папку
Text_Basic.tpl. Копии можно присвоить любое подходящее имя, например,Custom_Basic.tpl.-
Отредактируйте файл
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. -
Измените 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соответственно. Отредактируйте текстовую информацию для объектов
TemplateInfoиTemplateStyleInfo, чтобы отразить назначение пользовательского шаблона.-
Изменённый файл будет примерно таким:
<?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> -
Создайте новый файл шаблона. Это также лучше всего достигается, в зависимости от ваших требований, путём редактирования существующего шаблона. В этом примере файл шаблона
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Этот шаблон показывает детали для всех схем в модели.
-
Представленный файл шаблона можно редактировать по своему усмотрению, добавляя новые маркеры и удаляя существующие по мере необходимости. Для примера пользовательского шаблона можно создать гораздо более простой шаблон, например, следующий:
+--------------------------------------------+ | 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}}. Затем можно проверить пользовательский шаблон. Запустите MySQL Workbench, загрузите модель, для которой требуется сгенерировать отчёт, выберите в меню , . Затем выберите новый пользовательский шаблон из списка доступных шаблонов, выберите каталог вывода и нажмите , чтобы сгенерировать отчёт. Наконец, перейдите в каталог вывода, чтобы просмотреть завершённый отчёт.
© 2025 Oracle
Licensed under the GPLv2 License.