我目前正在通过将 MS SQL Server 2008 逆向工程到 Sparx 的 Enterprise Architect 版本 10 来创建数据库模型。
我已经能够导入表格,并隐藏不需要的项目(例如操作和原型)。但是,在导入表格或图表属性时,我没有找到隐藏列Initial
值的选项,这让我可以选择一一编辑每一列(耗时)。
我会错过任何隐藏Initial
值的配置吗?如果不存在这样的配置,那么在没有配置的情况下隐藏/删除初始值的最佳方法是什么?
我目前正在通过将 MS SQL Server 2008 逆向工程到 Sparx 的 Enterprise Architect 版本 10 来创建数据库模型。
我已经能够导入表格,并隐藏不需要的项目(例如操作和原型)。但是,在导入表格或图表属性时,我没有找到隐藏列Initial
值的选项,这让我可以选择一一编辑每一列(耗时)。
我会错过任何隐藏Initial
值的配置吗?如果不存在这样的配置,那么在没有配置的情况下隐藏/删除初始值的最佳方法是什么?
最后通过创建EA脚本得到了解决方案。随意使用和增强它:)
!INC Local Scripts.EAConstants-JScript
function OnProjectBrowserScript()
{
// Show the script output window
Repository.EnsureOutputVisible( "Script" );
var treeSelectedType = Repository.GetTreeSelectedItemType();
switch ( treeSelectedType )
{
case otElement: // if select table
{
removeInitial(Repository.GetContextObject());
break;
}
case otPackage: // if select package containing table
{
var selectedObject as EA.Element;
selectedObject = Repository.GetContextObject();
for ( var i = 0 ; i < selectedObject.Elements.Count ; i++ )
{
removeInitial(selectedObject.Elements.GetAt( i ));
}
break;
}
default:
{
// Error message
Session.Prompt( "This script does not support items of this type.", promptOK );
}
}
}
function removeInitial(selectedObject)
{
for (var i = 0 ; i < selectedObject.Attributes.Count; i++)
{
var attrib as EA.Attribute;
attrib = selectedObject.Attributes.GetAt(i);
attrib.Default = "";
attrib.Update();
}
Session.Output("finished updating " + selectedObject.Name);
}
OnProjectBrowserScript();