Ejemplo n.º 1
0
        public void CanUseVersionInfo()
        {
            ExecuteWithSupportedProcessors(
                services => services.WithMigrationsIn("FluentMigrator.Tests.Integration.Migrations.Interleaved.Pass3"),
                (serviceProvider, processor) =>
            {
                var runner = serviceProvider.GetRequiredService <IMigrationRunner>();

                IVersionTableMetaData tableMetaData = new DefaultVersionTableMetaData(
                    ConventionSets.NoSchemaName,
                    serviceProvider.GetRequiredService <IOptions <RunnerOptions> >());

                //ensure table doesn't exist
                if (processor.TableExists(tableMetaData.SchemaName, tableMetaData.TableName))
                {
                    runner.Down(new VersionMigration(tableMetaData));
                }

                runner.Up(new VersionMigration(tableMetaData));
                processor.TableExists(tableMetaData.SchemaName, tableMetaData.TableName).ShouldBeTrue();

                runner.Down(new VersionMigration(tableMetaData));
                processor.TableExists(tableMetaData.SchemaName, tableMetaData.TableName).ShouldBeFalse();
            });
        }
Ejemplo n.º 2
0
        public IVersionTableMetaData GetVersionTableMetaData()
        {
            var matchedType = Assemblies.GetExportedTypes()
                              .FilterByNamespace(Runner.RunnerContext.Namespace, Runner.RunnerContext.NestedNamespaces)
                              .FirstOrDefault(t => Conventions.TypeIsVersionTableMetaData(t));

            if (matchedType == null)
            {
                var result = new DefaultVersionTableMetaData();
                _conventionSet.SchemaConvention?.Apply(result);
                return(result);
            }

            return((IVersionTableMetaData)Activator.CreateInstance(matchedType));
        }
        public void CanUseVersionInfo()
        {
            ExecuteWithSupportedProcessors(processor =>
            {
                var runner = new MigrationRunner(Assembly.GetExecutingAssembly(), new RunnerContext(new TextWriterAnnouncer(System.Console.Out))
                {
                    Namespace = "FluentMigrator.Tests.Integration.Migrations.Interleaved.Pass3"
                }, processor);

                IVersionTableMetaData tableMetaData = new DefaultVersionTableMetaData();

                //ensure table doesn't exist
                if (processor.TableExists(tableMetaData.SchemaName, tableMetaData.TableName))
                {
                    runner.Down(new VersionMigration(tableMetaData));
                }

                runner.Up(new VersionMigration(tableMetaData));
                processor.TableExists(tableMetaData.SchemaName, tableMetaData.TableName).ShouldBeTrue();

                runner.Down(new VersionMigration(tableMetaData));
                processor.TableExists(tableMetaData.SchemaName, tableMetaData.TableName).ShouldBeFalse();
            });
        }