Exemplo n.º 1
0
        /// <summary>
        ///     Deploy database from different sources to different destiations using WebDeploy
        /// </summary>
        /// <param name="sourceDbType"></param>
        /// <param name="sourceConnectionString"></param>
        /// <param name="destinationDbType"></param>
        /// <param name="destinationConnectionString"></param>
        /// <param name="includeData"></param>
        /// <param name="dropDestinationDatabase"></param>
        public static void DeployDatabase(
            WebDeployDatabaseType sourceDbType,
            string sourceConnectionString,
            WebDeployDatabaseType destinationDbType,
            string destinationConnectionString,
            bool includeData = false,
            bool dropDestinationDatabase = false)
        {
            InitializeWebDeployment();

            DeploymentWellKnownProvider srcProvider;
            DeploymentBaseOptions srcBaseOptions;
            PrepareDatabaseDeployment(sourceDbType, out srcProvider, out srcBaseOptions, includeData, dropDestinationDatabase);

            DeploymentWellKnownProvider destProvider;
            DeploymentBaseOptions destBaseOptions;
            PrepareDatabaseDeployment(destinationDbType, out destProvider, out destBaseOptions, includeData, dropDestinationDatabase);

            var destSyncOptions = new DeploymentSyncOptions();
            
            ExecuteDeploy(
                sourceConnectionString,
                destinationConnectionString,
                srcProvider,
                srcBaseOptions,
                destProvider,
                destBaseOptions,
                destSyncOptions);
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Deploy database from different sources to different destiations using WebDeploy
        /// </summary>
        /// <param name="sourceDbType"></param>
        /// <param name="sourceConnectionString"></param>
        /// <param name="destinationDbType"></param>
        /// <param name="destinationConnectionString"></param>
        /// <param name="includeData"></param>
        /// <param name="dropDestinationDatabase"></param>
        public static void DeployDatabase(
            WebDeployDatabaseType sourceDbType,
            string sourceConnectionString,
            WebDeployDatabaseType destinationDbType,
            string destinationConnectionString,
            bool includeData             = false,
            bool dropDestinationDatabase = false)
        {
            InitializeWebDeployment();

            DeploymentWellKnownProvider srcProvider;
            DeploymentBaseOptions       srcBaseOptions;

            PrepareDatabaseDeployment(sourceDbType, out srcProvider, out srcBaseOptions, includeData, dropDestinationDatabase);

            DeploymentWellKnownProvider destProvider;
            DeploymentBaseOptions       destBaseOptions;

            PrepareDatabaseDeployment(destinationDbType, out destProvider, out destBaseOptions, includeData, dropDestinationDatabase);

            var destSyncOptions = new DeploymentSyncOptions();

            ExecuteDeploy(
                sourceConnectionString,
                destinationConnectionString,
                srcProvider,
                srcBaseOptions,
                destProvider,
                destBaseOptions,
                destSyncOptions);
        }
Exemplo n.º 3
0
        /// <summary>
        ///     Publish database to the cloud
        /// </summary>
        /// <param name="sourceDbType"></param>
        /// <param name="sourceConnectionString"></param>
        /// <param name="destinationDbType"></param>
        /// <param name="destinationConnectionString"></param>
        /// <param name="includeData"></param>
        public void PublishDatabase(WebDeployDatabaseType sourceDbType,
                                    string sourceConnectionString,
                                    WebDeployDatabaseType destinationDbType,
                                    string destinationConnectionString,
                                    bool includeData = false)
        {
            TestEasyLog.Instance.Info(string.Format("Publishing database '{0}' to '{1}'", sourceConnectionString, destinationConnectionString));

            WebDeployHelper.DeployDatabase(sourceDbType, sourceConnectionString, destinationDbType, destinationConnectionString, includeData);
        }
Exemplo n.º 4
0
        private static void PrepareDatabaseDeployment(WebDeployDatabaseType dbType, out DeploymentWellKnownProvider provider,
                                               out DeploymentBaseOptions options, bool includeData =  false, bool dropDestinationDatabase = false)
        {
            provider = DeploymentWellKnownProvider.DBDacFx;
            options = new DeploymentBaseOptions();
            switch (dbType)
            {
                case WebDeployDatabaseType.SqlCe:
                case WebDeployDatabaseType.FullSql:
                    provider = DeploymentWellKnownProvider.DBDacFx;
                    break;
                case WebDeployDatabaseType.MySql:
                    provider = DeploymentWellKnownProvider.DBMySql;
                    break;
            }

            options.AddDefaultProviderSetting(provider.ToString(), "dropDestinationDatabase", dropDestinationDatabase);
            options.AddDefaultProviderSetting(provider.ToString(), "includeData", includeData);
        }
Exemplo n.º 5
0
        private static void PrepareDatabaseDeployment(WebDeployDatabaseType dbType, out DeploymentWellKnownProvider provider,
                                                      out DeploymentBaseOptions options, bool includeData = false, bool dropDestinationDatabase = false)
        {
            provider = DeploymentWellKnownProvider.DBDacFx;
            options  = new DeploymentBaseOptions();
            switch (dbType)
            {
            case WebDeployDatabaseType.SqlCe:
            case WebDeployDatabaseType.FullSql:
                provider = DeploymentWellKnownProvider.DBDacFx;
                break;

            case WebDeployDatabaseType.MySql:
                provider = DeploymentWellKnownProvider.DBMySql;
                break;
            }

            options.AddDefaultProviderSetting(provider.ToString(), "dropDestinationDatabase", dropDestinationDatabase);
            options.AddDefaultProviderSetting(provider.ToString(), "includeData", includeData);
        }
Exemplo n.º 6
0
        /// <summary>
        ///     Publish database to the cloud
        /// </summary>
        /// <param name="sourceDbType"></param>
        /// <param name="sourceConnectionString"></param>
        /// <param name="destinationDbType"></param>
        /// <param name="destinationConnectionString"></param>
        /// <param name="includeData"></param>
        public void PublishDatabase(WebDeployDatabaseType sourceDbType,
            string sourceConnectionString,
            WebDeployDatabaseType destinationDbType,
            string destinationConnectionString,
            bool includeData = false)
        {
            TestEasyLog.Instance.Info(string.Format("Publishing database '{0}' to '{1}'", sourceConnectionString, destinationConnectionString));

            WebDeployHelper.DeployDatabase(sourceDbType, sourceConnectionString, destinationDbType, destinationConnectionString, includeData);
        }