public void BuildDbModelChanges(DbUpgradeInfo upgradeInfo, IDbObjectComparer comparer, ILog log) { _upgradeInfo = upgradeInfo; _comparer = comparer; _log = log; _newModel = upgradeInfo.NewDbModel; _oldModel = upgradeInfo.OldDbModel; _options = _upgradeInfo.Settings.UpgradeOptions; var driver = _newModel.Driver; _useRefIntegrity = driver.Supports(DbFeatures.ReferentialConstraints) && _newModel.Config.Options.IsSet(DbOptions.UseRefIntegrity); _compareTables = _options.IsSet(DbUpgradeOptions.UpdateTables); _compareIndexes = _options.IsSet(DbUpgradeOptions.UpdateIndexes); _compareViews = driver.Supports(DbFeatures.Views) && _options.IsSet(DbUpgradeOptions.UpdateViews); _dropUnknown = _options.IsSet(DbUpgradeOptions.DropUnknownObjects); _supportsSchemas = driver.Supports(DbFeatures.Schemas); // Nullify all obj.Peer fields to make sure we drop references to old model - mostly convenience in debugging // to allow multiple entry into this method in debugger _oldModel.ResetPeerRefs(); MatchObjectsWithPeers(); //new stuff BuildChangeList(); // Do not do it here, refs to old objects might be need by Sql generators; we will reset refs after completing update // _newModel.ResetPeerRefs() }//class
public void AddDbModelChanges(DbUpgradeInfo upgradeInfo, MemoryLog log) { _upgradeInfo = upgradeInfo; _newModel = upgradeInfo.NewDbModel; _oldModel = upgradeInfo.OldDbModel; _log = log; _options = _upgradeInfo.Settings.UpgradeOptions; var driver = _newModel.Driver; _useRefIntegrity = driver.Supports(DbFeatures.ReferentialConstraints) && _newModel.Config.Options.IsSet(DbOptions.UseRefIntegrity) ; _compareTables = _options.IsSet(DbUpgradeOptions.UpdateTables); _compareIndexes = _options.IsSet(DbUpgradeOptions.UpdateIndexes); _compareViews = driver.Supports(DbFeatures.Views) && _options.IsSet(DbUpgradeOptions.UpdateViews); var usesStoredProcs = driver.Supports(DbFeatures.StoredProcedures) && _newModel.Config.Options.IsSet(DbOptions.UseStoredProcs); _compareStoredProcs = usesStoredProcs && _options.IsSet(DbUpgradeOptions.UpdateStoredProcs); _dropUnknown = _options.IsSet(DbUpgradeOptions.DropUnknownObjects); _supportsSchemas = driver.Supports(DbFeatures.Schemas); _supportsOrderInIndexes = driver.Supports(DbFeatures.OrderedColumnsInIndexes); // Nullify all obj.Peer fields to make sure we drop references to old model - mostly convenience in debugging // to allow multiple entry into this method in debugger _oldModel.ResetPeerRefs(); MatchObjectsWithPeers(); //new stuff BuildChangeList(); // Do not do it here, refs to old objects might be need by Sql generators; we will reset refs after completing update // _newModel.ResetPeerRefs() }