Exemple #1
0
        public void CanPickUpMigrationsFromFiles()
        {
            Database.Migrate(TestConfig.ConnectionString, Migrations.FromFilesIn(_directory));

            var tableNames = GetTableNames().ToList();

            Assert.That(tableNames, Is.EqualTo(new[] { "Tabelle1", "Tabelle2", "Tabelle3" }));
        }
        public void ExecuteMigrationWithTimeout()
        {
            var migrations = Migrations.FromFilesIn(Path.Combine(AppContext.BaseDirectory, "hints", "scripts"));

            var options = new Options(sqlCommandTimeout: TimeSpan.FromSeconds(10));

            Database.Migrate(TestConfig.MysqlConnectionString, migrations, options);
        }
Exemple #3
0
        public void CanPickUpMigrationsFromFiles()
        {
            var dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Api");

            Database.Migrate(TestConfig.ConnectionString, Migrations.FromFilesIn(dir));

            var tableNames = GetTableNames().ToList();

            Assert.That(tableNames, Is.EqualTo(new[] { "Tabelle1", "Tabelle2", "Tabelle3" }));
        }
Exemple #4
0
        public void CorrectlyParsesSqlFiles()
        {
            var migrations = Migrations.FromFilesIn(_directory).ToList();

            Assert.That(migrations.Count, Is.EqualTo(3));

            var migrationWithInterestingComment = migrations.Single(m => m.SequenceNumber == 1 && m.BranchSpecification == "master");

            Console.WriteLine();
            Console.WriteLine("THIS IS THE DESCRIPTION:");
            Console.WriteLine(migrationWithInterestingComment.Description);
            Console.WriteLine();
            Console.WriteLine("THIS IS THE MIGRATION:");
            Console.WriteLine(migrationWithInterestingComment.SqlMigration.Sql);
            Console.WriteLine();

            Assert.That(migrationWithInterestingComment.Description, Is.EqualTo("This is my first migration{newline}A table is created{newline}{newline}This comment SHOULD be included, because it\'s part of the first comment block{newline}{newline}hints: hint1, hint2,    hint3;   hint4{newline}hints: hint5, hint-6".Replace("{newline}", Environment.NewLine)));

            Assert.That(migrationWithInterestingComment.SqlMigration.Sql, Is.EqualTo("-- This comment should NOT be included, because it\'s not considered connected to the first comment block{newline}-- Create a table{newline}create table [Tabelle1]{newline}({newline}\t[Id] int identity(1,1){newline}){newline}go{newline}-- Add a column to that table{newline}alter table [Tabelle1] add [Text] nvarchar(10);".Replace("{newline}", Environment.NewLine)));
        }
Exemple #5
0
        public void ExtractsHintsFromCommentsSection()
        {
            var migrations = Migrations.FromFilesIn(_directory).ToList()
                             .OrderBy(m => m.SequenceNumber).ThenBy(m => m.BranchSpecification)
                             .ToList();

            Assert.That(migrations.Select(m => $"{m.SequenceNumber}-{m.BranchSpecification}"), Is.EqualTo(new[]
            {
                "1-master",
                "2-feature-subdir1",
                "2-feature-subdir2",
            }));

            Assert.That(migrations.Select(m => string.Join(",", m.Hints)), Is.EqualTo(new[]
            {
                "hint1,hint2,hint3,hint4,hint5,hint-6",
                "",
                "no-transaction"
            }));
        }
Exemple #6
0
 public void TryWithFiles()
 {
     Database.Migrate(TestConfig.PostgresConnectionString, Migrations.FromFilesIn("Scripts"), new Options(logAction: Log, verboseLogAction: LogVerbose));
 }
Exemple #7
0
        public void TryWithFiles()
        {
            var directory = Path.Combine(TestContext.CurrentContext.TestDirectory, "Scripts");

            Database.Migrate(TestConfig.MysqlConnectionString, Migrations.FromFilesIn(directory), new Options(logAction: Log, verboseLogAction: LogVerbose));
        }