コード例 #1
0
        public void GetMigrationScripts_CalculatesCorrectChecksum()
        {
            var repo = new ScriptFileRepository(new DirectoryInfo(".\\Scripts\\UnitTests"));

            var script = repo.GetScripts(ScriptKind.Migration).First();

            var checksum = script.Checksum;

            Assert.AreEqual("9049690C31B0E6106EB20FB6ADCB6F12", checksum);
        }
コード例 #2
0
        public void GetMigrationScripts_ReturnsMigrations()
        {
            var repo = new ScriptFileRepository(new DirectoryInfo(".\\Scripts\\UnitTests"), null, null);

            var migrations = repo.GetScripts(ScriptKind.Migration).Select(s => s.ScriptName).ToArray();

            CollectionAssert.AreEquivalent(
                new[]{"001.sql", "002.sql", "003.sql"}, 
                migrations
                );

        }
コード例 #3
0
        public void GetOtherScripts_ReturnsScripts()
        {
            var repo = new ScriptFileRepository(new DirectoryInfo(".\\Scripts\\UnitTests"));

            var scripts = repo.GetScripts(ScriptKind.PostMigration).Select(s => new{FolderName = s.Collection, s.ScriptName}).ToArray();

            var expected = new[] { @"01\001.sql", @"01\002.sql", @"02\001.sql", @"02\002.sql", @"02\003.sql" }.Select(s => new{FolderName = "DataLoads", ScriptName = s}).ToArray();

            CollectionAssert.AreEquivalent(
                expected, 
                scripts
                );
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: jhgbrt/DbMigrations
 private static IMigrationManager CreateMigrationManager(Config config, IDb db, DbQueries queryConfig)
 {
     var database = new Database(db, queryConfig);
     var folder = new DirectoryInfo(config.Directory);
     var scripts = new ScriptFileRepository(folder, config.PreMigration, config.PostMigration);
     var manager = new MigrationManager(scripts, database, Logger);
     return manager;
 }