Changeset 444

Show
Ignore:
Timestamp:
Fri Jun 13 23:29:12 2008
Author:
Brian
Message:

Draft of Rmap and SQL generation

Files:

Legend:

Unmodified
Added
Removed
Modified
  • scripts/trunk/Object Role Modeling/Install ORM Meta-Model Reports.py

    r435 r444  
    52 52 #       - ProjectID (Schema)  
    53 53 #       - Name  
    54   #       - RefMode = identifier used to refer to instances of object  
      54 #       - RefMode = identifier used to refer to instances of object (will standardize it later?)  
    54 54 #       - Type ['Entity', 'Value', 'Objectified']  
    55 55 #       - ORMFactTypeID            # for objectified fact type  
    56 56 #       - Independent [None, '!']  # capture objects that play no roles  
    57 57 #       - Personal [None, 'p']     # refer to object as "who"  
      58 #       - DataType                 # type of column in database (will standardize it later?)  
    58 59 #       - Derived [None, '*', '+']  
    59 60 #       - DerivationRule  
    60 61  
    61 62     rt = { 'Name': 'ORM ObjectTypes', 'TableA': 'ORMObjectType', 'TableB': None, 'Also': None, 'AllOrEach': 'each',  
    62              'SuggestedColumns': ',ID;,Name;,RefMode;,Type;,Independent;,Derived;,DerivationRule;,DateAdded' }  
      63            'SuggestedColumns': ',ID;,Name;,RefMode;,Type;,Independent;,DataType;,Derived;,DerivationRule;,DateAdded' }  
    62 63     ct = [  
    63 64     { 'Name': 'ProjectID',    'Label': 'Project\nID',    'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 50  },  
     
    69 70     { 'Name': 'RefMode',      'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
    70 71     { 'Name': 'Type',         'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 35  },  
    71       { 'Name': 'ORMFactTypeID', 'Label': 'ORMFactTypeID',  'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
      72     { 'Name': 'ORMFactTypeID', 'Label': 'ORMFactTypeID', 'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
    71 72     { 'Name': 'Independent',  'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 75  },  
    72 73     { 'Name': 'Personal',     'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 75  },  
      74     { 'Name': 'DataType',     'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 80  },  
    73 75     { 'Name': 'Derived',      'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 50  },  
    74 76     { 'Name': 'DerivationRule',  'Label': None,          'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 180  },  
     
    83 85 #       - ProjectID (Schema)  
    84 86 #       - Nary (1 ..)  
      87 #       - Unique ['a', None]  # spanning uniquess constraint  
    85 88 #       - Derived [None, '*', '+']  
    86 89 #       - DerivationRule  
    87   ##       - ORMFactReadingID         # prefered reading; no, put this in the reading  
      90 #       - ORMFactReadingID         # prefered reading; yes, here for use in rmap  
    87 90 ##       - ORMObjectTypeID         # if objectified  ## No, pointer on other end  
    88 91  
     
    102 105     { 'Name': 'Name',          'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
    103 106     { 'Name': 'Nary',          'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
    104   ##    { 'Name': 'ORMFactReadingID',   'Label': 'ReadingID',    'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 35  },  
      107     { 'Name': 'Unique',        'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 35  },  
      108     { 'Name': 'ORMFactReadingID',   'Label': 'ReadingID',    'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 35  },  
    105 109 ##    { 'Name': 'ORMObjectTypeID',   'Label': 'ReadingID',    'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 35  },  
    106 110     { 'Name': 'Derived',       'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 50  },  
    107       { 'Name': 'DerivationRule',  'Label': None,          'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 180  },  
      111     { 'Name': 'DerivationRule',  'Label': None,          'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,   'Width': 180  },  
    107 111     { 'Name': 'Description',   'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
    108 112     { 'Name': 'DateAdded',     'Label': 'Date\nAdded',    'DataType': 'd', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 80  },  
     
    132 136     { 'Name': 'Reading',       'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
    133 137 ##    { 'Name': 'Preference',      'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 50  },  
    134   ##    { 'Name': 'Unique',        'Label': None,             'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 35  },  
    135 138     { 'Name': 'DateAdded',     'Label': 'Date\nAdded',    'DataType': 'd', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 80  },  
    136 139         ]  
     
    344 347     Data.AddReportType(rt, ct)  
    345 348  
      349 # Tables and Columns from Rmap  
      350  
      351     rt = { 'Name': 'RelationalTable', 'TableA': 'RelationalTable', 'TableB': None, 'Also': None, 'AllOrEach': 'each',  
      352            'SuggestedColumns': ',ID;,Name;,OverrideName;,InUse;,InBase;,TableName;,TableID' }  
      353     ct = [  
      354     { 'Name': 'ID',           'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': False, 'Width': 35  },  
      355     { 'Name': 'Name',         'Label': 'Table\nName',    'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': False,  'Width': 100  },  
      356     { 'Name': 'BaseName',     'Label': 'Base\nName',     'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': False,  'Width': 100  },  
      357     { 'Name': 'OverrideName', 'Label': 'Override\nName', 'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 100  },  
      358     { 'Name': 'InUse',        'Label': 'In\nUse',        'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': False,  'Width': 50  },  
      359     { 'Name': 'InBase',       'Label': 'In\nBase',       'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': False,  'Width': 50  },  
      360 ##    { 'Name': 'ORMObjectTypeID', 'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True, 'Width': 55  },  
      361 ##    { 'Name': 'ORMFactTypeID',   'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True, 'Width': 55  },  
      362     { 'Name': 'TableName',    'Label': 'Source',         'DataType': 't', 'AccessType': 'd', 'T': 'A', 'Edit': False,  'Width': 100  },  
      363     { 'Name': 'TableID',      'Label': 'Source\nID',     'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': False, 'Width': 55  },  
      364         ]  
      365     Data.AddReportType(rt, ct)  
      366  
      367     rt = { 'Name': 'RelationalTable/RelationalColumn', 'TableA': 'RelationalTable', 'TableB': 'RelationalColumn', 'Also': 'RelationalTable', 'AllOrEach': 'each',  
      368            'SuggestedColumns': 'RelationalTable,ID;RelationalTable,Name;,ID;,Seq;,Name;,DataType;,PrimaryKey;,OverrideName;,OverrideDataType;,OverridePrimaryKey;,InUse;,InBase;,TableName;,TableID' }  
      369     ct = [  
      370     { 'Name': 'ID',           'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 35  },  
      371     { 'Name': 'Seq',          'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True, 'Width': 55  },  
      372     { 'Name': 'Name',         'Label': 'Column\nName',   'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 100  },  
      373     { 'Name': 'BaseName',     'Label': 'Base\nName',     'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 100  },  
      374     { 'Name': 'OverrideName', 'Label': 'Override\nName', 'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': True,  'Width': 100  },  
      375     { 'Name': 'DataType',     'Label': 'Column\nData Type',   'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 80  },  
      376     { 'Name': 'BaseDataType', 'Label': 'Base\nData Type', 'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 80  },  
      377     { 'Name': 'OverrideDataType', 'Label': 'Override\nData Type', 'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': True,  'Width': 80  },  
      378     { 'Name': 'PrimaryKey',     'Label': 'Column\nPrimary Key',   'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 80  },  
      379     { 'Name': 'BasePrimaryKey', 'Label': 'Base\nPrimary Key',     'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 80  },  
      380     { 'Name': 'OverridePrimaryKey', 'Label': 'Override\nPrimary Key', 'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': True,  'Width': 80  },  
      381     { 'Name': 'InUse',        'Label': 'In\nUse',          'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False,  'Width': 50  },  
      382     { 'Name': 'InBase',       'Label': 'In\nBase',         'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False,  'Width': 50  },  
      383 ##    { 'Name': 'ORMObjectTypeID', 'Label': None,        'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True, 'Width': 55  },  
      384 ##    { 'Name': 'ORMRoleID', 'Label': None,             'DataType': 'i', 'AccessType': 'd', 'T': 'A', 'Edit': True,  'Width': 55  },  
      385     { 'Name': 'TableName',    'Label': 'Source',        'DataType': 't', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 100  },  
      386     { 'Name': 'TableID',      'Label': 'Source\nID',    'DataType': 'i', 'AccessType': 'd', 'T': 'B', 'Edit': False, 'Width': 55  },  
      387         ]  
      388     Data.AddReportType(rt, ct)  
      389  
    346 390 # --------------------------  
    347 391