コード例 #1
0
        private void SaveDatabaseInternal(string patchDir, string modelVersion, string msg,
                                          int startNumber, string mongoSourceDir)
        {
            var project = DbName.StartsWith("sf_") ? DbName.Substring(3) : DbName;
            var file    = Path.Combine(mongoSourceDir, $"{DbName}.json");
            var content = TestHelper.Run(MongoExport,
                                         $"--host {Settings.MongoHostName}:{Settings.MongoPort} " +
                                         $"--db scriptureforge --collection projects --query '{{ \"projectCode\" : \"{project}\" }}'",
                                         mongoSourceDir);

            WriteJson(file, content);
            TestHelper.Run(Git, $"add {file}", mongoSourceDir);

            ExportCollection("activity", modelVersion);
            ExportCollection("lexicon", modelVersion);
            ExportCollection("lexiconComments", modelVersion);
            ExportCollection("optionlists", modelVersion);

            AddCollectionToGit("activity", modelVersion);
            AddCollectionToGit("lexicon", modelVersion);
            AddCollectionToGit("lexiconComments", modelVersion);
            AddCollectionToGit("optionlists", modelVersion);

            TestHelper.Run(Git, $"commit -a --allow-empty -m \"{msg}\"", mongoSourceDir);
            TestHelper.Run(Git,
                           $"format-patch -1 -o {patchDir} --start-number {startNumber} --ignore-all-space",
                           mongoSourceDir);
        }