Example #1
0
        public void InitializeDatabase(TDbContext context)
        {
            var config = _dbConnectionConfigurationFactory();

            if (config == null)
            {
                return;
            }

            _migrationConfig.TargetDatabase = new DbConnectionInfo(config.ConnectionString, config.DataProvider);

            var migrator = new DbMigrator(_migrationConfig);

            migrator.Update();
            string scriptPath, eoc;

            if (context.Database.Connection.GetType() == typeof(MySqlConnection))
            {
                scriptPath = _appManager.MapPhysicalFile(MySqlScriptPath);
                eoc        = MySqlEOC;
            }
            else
            {
                scriptPath = _appManager.MapPhysicalFile(SqlServerScriptPath);
                eoc        = SqlServerEOC;
            }

            SqlCommandParser parser = new SqlCommandParser(scriptPath, eoc);

            foreach (string command in parser.ParseFromFile(false))
            {
                context.Database.ExecuteSqlCommand(command);
            }
        }