/// <summary>
        /// Drops the test databases.
        /// </summary>
        /// <param name="sessionFactoryManager">The session factory manager.</param>
        public void DropTestDatabase(ISessionFactoryManager sessionFactoryManager)
        {
            foreach (ISessionFactory factory in sessionFactoryManager.GetAll())
            {
                using (var session = factory.OpenSession())
                {
                    var cmd = session.Connection.CreateCommand();
                    var database = session.Connection.Database;

                    cmd.CommandText = string.Format("DROP DATABASE IF EXISTS `{0}`;", database);
                    cmd.ExecuteNonQuery();
                }
            }
        }
        /// <summary>
        /// Builds the test databases.
        /// </summary>
        /// <param name="sessionFactoryManager">The session factory manager.</param>
        public void BuildTestDatabase(ISessionFactoryManager sessionFactoryManager)
        {
            foreach (ISessionFactory factory in sessionFactoryManager.GetAll())
            {
                using (var session = factory.OpenSession())
                {
                    var cmd = session.Connection.CreateCommand();
                    var database = session.Connection.Database;

                    cmd.CommandText = string.Format("DROP DATABASE IF EXISTS `{0}`;", database);
                    cmd.ExecuteNonQuery();
                    cmd.CommandText = string.Format("CREATE DATABASE IF NOT EXISTS `{0}`;", database);
                    cmd.ExecuteNonQuery();
                    session.Connection.ChangeDatabase(database);
                }

                var configuration = sessionFactoryManager.GetConfigurationForFactory(factory);

                SchemaExport export = new SchemaExport(configuration);

                export.Execute(false, true, false);
            }
        }