Объект 'wb' (и, очевидно, все вышестоящие объекты) загружает и хранит информацию, но дерево для доступа к физической модели базы данных просто не загружается.Поиски в интернете до сих пор приносили мне бипкис.
(Я собирался написать подпрограмму для проверки существования определенных столбцов и программно добавить соответствующий триггер. Я разработал kludge с помощью регулярного выражения иэкспорт базы данных, но это немного раздражает.)
Отсутствует какая-либо форма простой активации?(возможно соединение)
Следующая ошибка завершается с ошибкой «AttributeError: у объекта« NoneType »нет атрибута« PhysicalModels »»:
# -*- coding: utf-8 -*-
# MySQL Workbench Python script
# <description>
# Written in MySQL Workbench 5.2.34
import grt
#import mforms #??
stOut=""
stTrigger="""
delimiter $$
create trigger `docdb_mk2`.tsi_{t} before insert on `docdb_mk2`.`{t}`
for each row begin
set new.inserted=now();
end$$"""
# iterate through all tables from schema"""
schema = grt.root.wb.doc.physicalModels[0].catalog.schemata[0]
for table in schema.tables:
#print table.name
#if table.
#check to make sure both inserted and Updated are in the table
#Since I have no clue how to do that in here, I'll skip it for now.
stOut=stOut+stTrigger(t=table.name)
Даже если это не удается:
# -*- coding: utf-8 -*-
# MySQL Workbench Python script
# <description>
# Written in MySQL Workbench 5.2.34
import grt
#import mforms
# iterate through all schemas
for schema in grt.root.wb.doc.physicalModels[0].catalog.schemata:
print schema.name
Обратите внимание, что в данный момент я не прошу совета по моему SQL, просто по поводу этого раздражающего барьера в сценариях.
Редактировать: очевидно, некоторые объекты загружаются при загрузке этих элементов в пользовательском интерфейсе.Если есть какой-то способ заставить их загружаться в другом месте, я был бы признателен, если бы вы знали, но кажется, что если вы загружаете модуль сценариев с основного экрана Workbench, вы получаете частично инициализированный объект wb.Если вы загружаете объект из другой подсистемы, такой как модуль моделирования данных (Scripting> Run Workbench Script File ...), другие части загружаются и начинают работать.Хм.