Пример #1
0
        public void GetDbProviderManifestTokenReturnsCorrectSchemaVersion()
        {
            MySqlProviderServices services = new MySqlProviderServices();
            string token = services.GetProviderManifestToken(Connection);

            if (Version < new Version(5, 1))
            {
                Assert.AreEqual("5.0", token);
            }
            else if (Version < new Version(5, 5))
            {
                Assert.AreEqual("5.1", token);
            }
            else if (Version < new Version(5, 6))
            {
                Assert.AreEqual("5.5", token);
            }
            else if (Version < new Version(5, 7))
            {
                Assert.AreEqual("5.6", token);
            }
            else if (Version < new Version(8, 0))
            {
                Assert.AreEqual("5.7", token);
            }
            else
            {
                Assert.AreEqual("8.0", token);
            }
        }
Пример #2
0
        public void GetDbProviderManifestTokenReturnsCorrectSchemaVersion()
        {
            if (st.Version < new Version(5, 0))
            {
                return;
            }

            MySqlProviderServices services = new MySqlProviderServices();
            string token = services.GetProviderManifestToken(st.conn);

            if (st.Version < new Version(5, 1))
            {
                Assert.Equal("5.0", token);
            }
            else if (st.Version < new Version(5, 5))
            {
                Assert.Equal("5.1", token);
            }
            else if (st.Version < new Version(5, 6))
            {
                Assert.Equal("5.5", token);
            }
            else
            {
                Assert.Equal("5.6", token);
            }
        }
Пример #3
0
 public void GetDbProviderManifestTokenDoesNotThrowWhenLocalized()
 {
     Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
     using (MySqlConnection connection = new MySqlConnection(ConnectionString))
     {
         MySqlProviderServices providerServices = new MySqlProviderServices();
         var token = providerServices.GetProviderManifestToken(connection);
         Assert.NotNull(token);
     }
 }
Пример #4
0
 public void GetDbProviderManifestTokenDoesNotThrowWhenMissingPersistSecurityInfo()
 {
     using (var conn = new MySqlConnection(ConnectionString))
     {
         conn.Open();
         MySqlProviderServices providerServices = new MySqlProviderServices();
         var token = providerServices.GetProviderManifestToken(conn);
         Assert.NotNull(token);
     }
 }
Пример #5
0
        public void GetDbProviderManifestTokenDoesNotThrowWhenMissingPersistSecurityInfo()
        {
            var conn = new MySqlConnection(st.rootConn.ConnectionString);

            conn.Open();
            MySqlProviderServices providerServices = new MySqlProviderServices();
            string token = null;

            Assert.DoesNotThrow(delegate() { token = providerServices.GetProviderManifestToken(conn); });
            Assert.NotNull(token);
            conn.Close();
        }
 public void GetDbProviderManifestTokenDoesNotThrowWhenMissingPersistSecurityInfo()
 {
     using (MySqlConnection connection = new MySqlConnection(GetConnectionString(this.user, this.password, false, true)))
     {
         MySqlProviderServices providerServices = new MySqlProviderServices();
         string token = null;
         connection.Open();
         Assert.DoesNotThrow(delegate() { token = providerServices.GetProviderManifestToken(connection); });
         Assert.IsNotNull(token);
         connection.Close();
     }
 }
Пример #7
0
        public void GetDbProviderManifestTokenDoesNotThrowWhenLocalized()
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");

            using (MySqlConnection connection = new MySqlConnection(st.GetConnectionString(true)))
            {
                MySqlProviderServices providerServices = new MySqlProviderServices();
                string token = null;

                Assert.DoesNotThrow(delegate() { token = providerServices.GetProviderManifestToken(connection); });
                Assert.NotNull(token);
            }
        }
        /// <summary>
        /// Generate and apply sql statemens from the
        /// migration operations list
        /// return false is case of fail or if database doesn't exist
        /// </summary>
        private bool GenerateAndExecuteMySQLStatements(List <MigrationOperation> migrationOperations)
        {
            MySqlProviderServices ProviderServices;

            ProviderServices = new MySqlProviderServices();

            using (BlogContext context = new BlogContext())
            {
                if (!context.Database.Exists())
                {
                    return(false);
                }

                using (MySqlConnection conn = new MySqlConnection(context.Database.Connection.ConnectionString))
                {
                    var migratorGenerator = new MySqlMigrationSqlGenerator();
                    var Token             = ProviderServices.GetProviderManifestToken(conn);
                    var sqlStmts          = migratorGenerator.Generate(migrationOperations, providerManifestToken: Token);
                    if (conn.State == System.Data.ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    foreach (MigrationStatement stmt in sqlStmts)
                    {
                        try
                        {
                            MySqlCommand cmd = new MySqlCommand(stmt.Sql, conn);
                            cmd.ExecuteNonQuery();
                        }
                        catch (Exception)
                        {
                            return(false);
                        }
                    }
                }
            }
            return(true);
        }