示例#1
0
		public override void Execute(ExecutionContext executionContext, IDictionary<string, object> tags) {
			AssemblyInventory assemblyInventory = (AssemblyInventory)executionContext.GetInventory(Source.Assembly, false);
			if (assemblyInventory == null) {
				throw new NotSupportedException("The assembly inventory could not be created");
			}
			DatabaseInventory databaseInventory = (DatabaseInventory)executionContext.GetInventory(Source.Database, false);
			if (databaseInventory == null) {
				throw new NotSupportedException("The database inventory could not be created");
			}
#warning perform lookup on ModuleStore tables and perform only updates as necessary on all matching schemas
			base.ExecuteInternal(executionContext, tags, assemblyInventory.GenerateUpdateSql(databaseInventory, 0));
		}
		public override void Execute(ExecutionContext executionContext, IDictionary<string, object> tags) {
			DatabaseInventory inventory = executionContext.GetInventory(Source.Database, false) as DatabaseInventory;
			if (inventory == null) {
				throw new NotSupportedException("The database inventory could not be created");
			}
			ExecuteInternal(executionContext, tags, inventory.GenerateUninstallSql());
		}
		public override void Execute(ExecutionContext executionContext, IDictionary<string, object> tags) {
			Source inventorySource = (Source)tags["source"];
			InstallableInventory inventory = executionContext.GetInventory(inventorySource, (bool)tags["directories"]) as InstallableInventory;
			if (inventory == null) {
				throw new NotSupportedException("The selected inventory type cannot be used as installation source");
			}
			IEnumerable<string> sqlStatements = inventory.GenerateInstallSql(DatabaseEngine.Unknown, executionContext.Schema, "dbo");
			ExecuteInternal(executionContext, tags, sqlStatements);
		}