Exemplo n.º 1
0
 public string GenerateUpgradeScript(byte[] dacpac, DbConnection target, DbUpgradeOptions options)
 {
     return(GenerateUpgradeScript(target, dacpac, options));
 }
Exemplo n.º 2
0
        private string GenerateUpgradeScript(DbConnection dbConnection, byte[] dacpac, DbUpgradeOptions options, string databaseNameOverride = "")
        {
            var dacServices  = new DacServices(dbConnection.ConnectionString);
            var databaseName = dbConnection.DatabaseName;

            if (!String.IsNullOrEmpty(databaseNameOverride))
            {
                databaseName = databaseNameOverride;
            }

            using (var stream = new MemoryStream(dacpac))
            {
                var publishResult = dacServices.Script(DacPackage.Load(stream, DacSchemaModelStorageType.Memory), dbConnection.DatabaseName, new PublishOptions
                {
                    GenerateDeploymentScript = true,
                    DeployOptions            = new DacDeployOptions
                    {
                        AllowIncompatiblePlatform  = true,
                        IgnoreNotForReplication    = options.IgnoreNotForReplication,
                        DropConstraintsNotInSource = options.DropConstraintsNotInSource,
                        DropIndexesNotInSource     = options.DropIndexesNotInSource,
                        VerifyDeployment           = options.VerifyDeployment,
                        ExcludeObjectTypes         = options.IgnoreObjectTypes// new ObjectType[] { ObjectType.Users, ObjectType.Views, ObjectType.RoleMembership, ObjectType.Permissions, ObjectType.ExtendedProperties, ObjectType.StoredProcedures, ObjectType.Logins, ObjectType.DatabaseTriggers, ObjectType.ServerTriggers }
                    }
                });

                return(publishResult.DatabaseScript);
            }
        }
Exemplo n.º 3
0
 public string GenerateUpgradeScript(byte[] dacpac, DbUpgradeOptions options, string databaseName = "")
 {
     return(GenerateUpgradeScript(sourceConnection, dacpac, options, databaseName));
 }