static void Main(string[] args) { const string usage = @"Fluent Migrator Schema Dumper Usage: SchemaDumper.exe --connection CONNECTION [--file FILE] [--verbose] [--show] [--open] SchemaDumper.exe --version SchemaDumper.exe --help Options: --connection CONNECTION -c CONNECTION The connection string. Required. --file FILE -f FILE File to output. Optional. [default: schemaDump.cs] --show -s Show output. Optional. --open -o Open file. Optional. --verbose Verbose. Optional. --help -h Show this screen. --version -v Show version. "; var arguments = new Docopt().Apply(usage, args, version: Assembly.GetExecutingAssembly().GetName().Version, exit: true); var file = arguments["--file"].ToString(); var verbose = arguments["--verbose"].IsTrue; var open = arguments["--open"].IsTrue; var show = arguments["--show"].IsTrue; if (!Path.IsPathRooted(file)) file = Path.Combine(Environment.CurrentDirectory, file); var connectionString = arguments["--connection"].ToString(); if (verbose) WriteLine($"Saving to {file}."); try { var builder = new SqlConnectionStringBuilder(connectionString); } catch (ArgumentException) { WriteLine("Connection string is in incorrect format."); return; } using (var connection = new SqlConnection(connectionString)) { try { connection.Open(); } catch (SqlException ex) { WriteLine($"Connection couldn't be established:\n{ex.Message}"); return; } var consoleAnnouncer = new ConsoleAnnouncer(); var dumper = new SqlServerSchemaDumper(new SqlServerProcessor(connection, new SqlServer2000Generator(), consoleAnnouncer, new ProcessorOptions(), new SqlServerDbFactory()), consoleAnnouncer); var tables = dumper.ReadDbSchema(); var writer = new RCDumpWriter(); writer.WriteToFile(tables, file); } if (show) WriteLine(File.ReadAllText(file)); if (open) try { Process.Start(file); } catch { } if (verbose) WriteLine("Done."); }
static void Main(string[] args) { const string usage = @"Fluent Migrator Schema Dumper Usage: SchemaDumper.exe --connection CONNECTION [--file FILE] [--verbose] [--show] [--open] SchemaDumper.exe --version SchemaDumper.exe --help Options: --connection CONNECTION -c CONNECTION The connection string. Required. --file FILE -f FILE File to output. Optional. [default: schemaDump.cs] --show -s Show output. Optional. --open -o Open file. Optional. --verbose Verbose. Optional. --help -h Show this screen. --version -v Show version. "; var arguments = new Docopt().Apply(usage, args, version: Assembly.GetExecutingAssembly().GetName().Version, exit: true); var file = arguments["--file"].ToString(); var verbose = arguments["--verbose"].IsTrue; var open = arguments["--open"].IsTrue; var show = arguments["--show"].IsTrue; if (!Path.IsPathRooted(file)) { file = Path.Combine(Environment.CurrentDirectory, file); } var connectionString = arguments["--connection"].ToString(); if (verbose) { WriteLine($"Saving to {file}."); } try { var builder = new SqlConnectionStringBuilder(connectionString); } catch (ArgumentException) { WriteLine("Connection string is in incorrect format."); return; } using (var connection = new SqlConnection(connectionString)) { try { connection.Open(); } catch (SqlException ex) { WriteLine($"Connection couldn't be established:\n{ex.Message}"); return; } var consoleAnnouncer = new ConsoleAnnouncer(); var dumper = new SqlServerSchemaDumper(new SqlServerProcessor(connection, new SqlServer2000Generator(), consoleAnnouncer, new ProcessorOptions(), new SqlServerDbFactory()), consoleAnnouncer); var tables = dumper.ReadDbSchema(); var writer = new RCDumpWriter(); writer.WriteToFile(tables, file); } if (show) { WriteLine(File.ReadAllText(file)); } if (open) { try { Process.Start(file); } catch { } } if (verbose) { WriteLine("Done."); } }