コード例 #1
0
        public HatCMSMigrator()
        {
            string   assemblypath      = System.Web.Hosting.HostingEnvironment.MapPath("~/Deploy/MyMigrations.dll");
            Assembly migrationAssembly = Assembly.LoadFrom(assemblypath);
            string   provider          = "MySql";
            string   connectionString  = "Data Source=localhost;Database=hatcms_test;User Id=hatcms;Password=hatcms";

            migrator = new Migrator.Migrator(provider, connectionString, migrationAssembly);
        }
コード例 #2
0
        public IEnumerable<string> RunAllMigrations()
        {
            var writer = new ToBufferLogWriter();
            var logger = new Logger(true, writer);

            logger.Trace("Providers:");
            foreach (var provider in Providers.Distinct()) {
                logger.Trace("* {0} ({1})", provider.MigrationContext, provider.GetType().Name);
            }

            string connectionString = null;
            foreach (var name in new[] { "KindjesNetMigrations", "KindjesNet" }) {
                if (ConfigurationManager.ConnectionStrings[name] != null) {
                    connectionString = ConfigurationManager.ConnectionStrings[name].ConnectionString;
                    break;
                }
            }

            if (connectionString == null)
                throw new ArgumentNullException("connectionString");

            foreach (var provider in Providers.Distinct()) {
                try {
                    logger.Trace("Migrations for {0} with context {1}...",
                                 provider.Assembly.FullName,
                                 provider.MigrationContext);
                    var migrator = new Migrator.Migrator(
                        provider.MigrationContext,
                        ProviderFactory.Create(provider.TransformationProviderName, connectionString),
                        provider.Assembly,
                        true,
                        logger);
                    migrator.MigrateToLastVersion();
                }
                catch (Exception ex) {
                    logger.Exception("Migration exception", ex);
                }
            }

            return writer.GetEntries();
        }
コード例 #3
0
        public HatCMSMigrator(string provider, string connectionString, string pathtomigrationAssembly)
        {
            Assembly migrationAssembly = Assembly.LoadFrom(pathtomigrationAssembly);

            migrator = new Migrator.Migrator(provider, connectionString, migrationAssembly);
        }