Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //  Parse arguments
            var parameters = ParseArguments(args);
            if (parameters == null) return;

            //  Generate the script
            var connection = new DbConnectionInfo(parameters.connection);

            var tool = new ToolingFacade(
                migrationsAssemblyName: parameters.migrationsAssembly,
                contextAssemblyName: parameters.contextAssembly,
                configurationTypeName: parameters.configurationTypeName,
                workingDirectory:      null,
                configurationFilePath: parameters.config,
                dataDirectory:         null,
                connectionStringInfo:  connection
            );

            var script = tool.ScriptUpdate(parameters.source, parameters.target, force: true);

            //  Output the script
            if (parameters.output == null) Console.WriteLine(script);
            else
            {
                Directory.CreateDirectory(Path.GetDirectoryName(parameters.output));
                File.WriteAllText(parameters.output, script);
            }
        }
Ejemplo n.º 2
0
 public ToolLogger(ToolingFacade facade)
 {
     _facade = facade;
 }
Ejemplo n.º 3
0
 public ToolLogger(ToolingFacade facade)
 {
     _facade = facade;
 }
Ejemplo n.º 4
0
        private ToolingFacade CreateFacade()
        {
            DbConnectionInfo connectionStringInfo = null;

            if (!string.IsNullOrWhiteSpace(_arguments.ConnectionStringName))
            {
                Contract.Assert(string.IsNullOrWhiteSpace(_arguments.ConnectionString));
                Contract.Assert(string.IsNullOrWhiteSpace(_arguments.ConnectionProviderName));

                connectionStringInfo = new DbConnectionInfo(_arguments.ConnectionStringName);
            }
            else if (!string.IsNullOrWhiteSpace(_arguments.ConnectionString))
            {
                Contract.Assert(string.IsNullOrWhiteSpace(_arguments.ConnectionStringName));
                Contract.Assert(!string.IsNullOrWhiteSpace(_arguments.ConnectionProviderName));

                connectionStringInfo = new DbConnectionInfo(
                    _arguments.ConnectionString, _arguments.ConnectionProviderName);
            }

            var facade
                = new ToolingFacade(
                    _arguments.AssemblyName,
                    _arguments.ConfigurationTypeName,
                    _arguments.WorkingDirectory,
                    _arguments.ConfigurationFile,
                    _arguments.DataDirectory,
                    connectionStringInfo);

            facade.LogInfoDelegate = WriteLine;
            facade.LogWarningDelegate = WriteWarning;

            if (_arguments.Verbose)
            {
                facade.LogVerboseDelegate = sql => WriteVerbose(Strings.VerboseMessage(sql));
            }

            return facade;
        }