Esempio n. 1
0
        public static IList <string> GetPendingMigrations(string baseValueSegmentConnectionString)
        {
            var aumentumSecurityContextOptions = new DbContextOptionsBuilder <BaseValueSegmentContext>();

            aumentumSecurityContextOptions.UseSqlServer(baseValueSegmentConnectionString);
            using (var db = new BaseValueSegmentContext(aumentumSecurityContextOptions))
            {
                //workaround to make sure migrations use the connection string specified in appsettings.json, if specified
                Environment.SetEnvironmentVariable(BaseValueSegmentContext.BaseValueSegmentConnectionStringEnvironmentVariable, baseValueSegmentConnectionString);

                var pendingMigrations = db.Database.GetPendingMigrations();
                var migrations        = pendingMigrations as IList <string> ?? pendingMigrations.ToList();

                return(migrations);
            }
        }
Esempio n. 2
0
        public static void Apply(string baseValueSegmentConnectionString, int timeoutInSeconds)
        {
            var aumentumSecurityContextOptions = new DbContextOptionsBuilder <BaseValueSegmentContext>();

            aumentumSecurityContextOptions.UseSqlServer(baseValueSegmentConnectionString);
            using (var db = new BaseValueSegmentContext(aumentumSecurityContextOptions))
            {
                if (timeoutInSeconds > 0)
                {
                    db.Database.SetCommandTimeout(timeoutInSeconds);
                }

                //workaround to make sure migrations use the connection string specified in appsettings.json, if specified
                Environment.SetEnvironmentVariable(BaseValueSegmentContext.BaseValueSegmentConnectionStringEnvironmentVariable, baseValueSegmentConnectionString);

                db.Database.Migrate();
            }
        }