示例#1
0
        static async Task Main(string[] args)
        {
            int exitCode = 0;

            HandleArgs(args);

            try
            {
                if (showHelp)
                {
                    ShowHelp();
                }
                else
                {
                    Validate();

                    var db = await DatabaseFactory.CreateAsync(connectionString);

                    await GenerateReportAsync <DependencyReport>(db, outputDirectory, overwriteFiles);
                    await GenerateReportAsync <TablesReport>(db, outputDirectory, overwriteFiles);
                    await GenerateReportAsync <ViewsReport>(db, outputDirectory, overwriteFiles);
                    await GenerateReportAsync <RoutinesReport>(db, outputDirectory, overwriteFiles);
                }
            }
            catch (Exception exc)
            {
                exitCode = -1;
                ShowHelp(exc.Message);
            }
            finally
            {
                Environment.Exit(exitCode);
            }
        }