Exemplo n.º 1
0
        private void _addVersionedScript( CswUpdateSchemaTo UpdateTo )
        {
            // Instance the UpdateDriver
            CswSchemaUpdateDriver CswSchemaUpdateDriver = new CswSchemaUpdateDriver( UpdateTo );

            CswSchemaUpdateDriver.CswNbtSchemaModTrnsctn = new CswNbtSchemaModTrnsctn( _CswNbtResources );
            if( false == CswSchemaUpdateDriver.AlreadyRun() || CswSchemaUpdateDriver.AlwaysRun )
            {
                if( false == CswSchemaUpdateDriver.AlwaysRun )
                {
                    CswSchemaUpdateDriver.SchemaVersion = _makeNextSchemaVersion();
                    CswSchemaUpdateDriver.Description = CswSchemaUpdateDriver.ScriptName;
                    if( false == _isDuplicateScript( CswSchemaUpdateDriver ) )
                    {
                        _UpdateDrivers.Add( CswSchemaUpdateDriver.SchemaVersion, CswSchemaUpdateDriver );
                    }
                }
                else
                {
                    CswSchemaUpdateDriver.SchemaVersion = new CswSchemaVersion( 0, '#', 0 );
                    CswSchemaUpdateDriver.Description = "Run Always Script: " + CswSchemaUpdateDriver.ScriptName;
                    _UpdateDrivers.Add( CswSchemaUpdateDriver.SchemaVersion, CswSchemaUpdateDriver );
                }
            }
        }
Exemplo n.º 2
0
 private void _addRunAfterScript( CswUpdateSchemaTo UpdateTo, string Description = null )
 {
     CswSchemaUpdateDriver CswSchemaUpdateDriver = new CswSchemaUpdateDriver( UpdateTo );
     CswSchemaUpdateDriver.SchemaVersion = new CswSchemaVersion( 99, '#', _RunAfterScripts.Count );
     CswSchemaUpdateDriver.Description += Description ?? string.Empty;
     if( false == _RunAfterScripts.Contains( CswSchemaUpdateDriver ) )
     {
         _RunAfterScripts.Add( CswSchemaUpdateDriver );
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// Ensure that schema update transactions are handled in a uniform way with respect to
 /// transaction management and exception reporting, while avoiding creating a circular
 /// dependency between the schema update logic and the transaction class.
 /// </summary>
 /// <param name="CswUpdateSchemaTo"></param>
 public CswSchemaUpdateDriver(CswUpdateSchemaTo CswUpdateSchemaTo)
 {
     _CswUpdateSchemaTo = CswUpdateSchemaTo;
 }//ctor