Blacker.MangaScraper.Library.SQLite.SchemaManager.BackupDatabase C# (CSharp) Méthode

BackupDatabase() private méthode

Create a backup of database
private BackupDatabase ( SQLiteConnection connection, string backupName ) : bool
connection System.Data.SQLite.SQLiteConnection Connection to database which we want to backup
backupName string Name of the new database
Résultat bool
        private bool BackupDatabase(SQLiteConnection connection, string backupName)
        {
            try
            {
                string dataSource = Path.Combine(
                    Path.GetDirectoryName(LibraryConfiguration.Instance.StoragePath) ?? String.Empty, backupName);

                var connectionStringBuilder = new SQLiteConnectionStringBuilder()
                                                  {
                                                      DataSource = dataSource,
                                                      Version = 3,
                                                      //Set page size to NTFS cluster size = 4096 bytes
                                                      PageSize = 4096,
                                                      CacheSize = 10000,
                                                      JournalMode = SQLiteJournalModeEnum.Wal,
                                                      Pooling = true,
                                                      ForeignKeys = true,
                                                      LegacyFormat = false,
                                                      FailIfMissing = false
                                                  };

                using (var backupConnection = new SQLiteConnection(connectionStringBuilder.ToString()))
                {
                    backupConnection.Open();

                    connection.BackupDatabase(backupConnection, "main", "main", -1, null, -1);
                }

                return true;
            }
            catch (Exception ex)
            {
                _log.Error("Unable to backup database.", ex);

                return false;
            }
        }