Galen.Ci.EntityFramework.DeploymentHistory.Setup C# (CSharp) Method

Setup() public static method

public static Setup ( DbConnection connection, string schemaName ) : void
connection System.Data.Common.DbConnection
schemaName string
return void
        public static void Setup(DbConnection connection, string schemaName)
        {
            const string sql =
                "IF (NOT EXISTS ( " +
                    "SELECT 1 " +
                    "FROM INFORMATION_SCHEMA.TABLES " +
                    "WHERE TABLE_SCHEMA = '{0}' " +
                    "AND TABLE_NAME = '__DeploymentHistory')) " +
                "BEGIN " +
                    "CREATE TABLE [{0}].[__DeploymentHistory]( " +
                        "[DeploymentId][NVARCHAR](150) NOT NULL, " +
                        "[ContextKey] [NVARCHAR](300) NOT NULL, " +
                        "[AssemblyFileName] [NVARCHAR](255) NOT NULL, " +
                        "[Binaries] [VARBINARY](MAX) NOT NULL, " +
                        "[Hashes] [VARBINARY](MAX) NOT NULL, " +
                        "[DeployerVersion] [NVARCHAR](32) NOT NULL, " +
                        "CONSTRAINT[PK___DeploymentHistory] PRIMARY KEY CLUSTERED " +
                        "(" +
                            "[DeploymentId] ASC " +
                        ")) " +
                "END";

            using (var command = connection.CreateCommand())
            {
                command.CommandText = string.Format(sql, schemaName);
                command.ExecuteNonQuery();
            }
        }

Usage Example

示例#1
0
        private void SetupDeploymentHistory(string schemaName)
        {
            Log.Information(
                "Adding Deployment History table for schema {schemaName} on {endPointServer}\\{endpointDatabase} if it does not exist",
                schemaName,
                m_Config.Database.ServerName,
                m_Config.Database.DatabaseName);

            var factory = DbProviderFactories.GetFactory(m_ConnectionInfoBuilder.ProviderName);

            using (var connection = factory.CreateConnection())
            {
                connection.ConnectionString = m_ConnectionInfoBuilder.BuildConnectionString(
                    m_Config.Database,
                    m_Config.AuthMode,
                    m_Config.SqlLogin,
                    m_Config.SqlPassword);

                connection.Open();
                DeploymentHistory.Setup(connection, schemaName);
                connection.Close();
            }
        }