diff --git a/.idea/data_source_mapping.xml b/.idea/data_source_mapping.xml index 9ca8e16..5bd28e0 100644 --- a/.idea/data_source_mapping.xml +++ b/.idea/data_source_mapping.xml @@ -14,6 +14,7 @@ + diff --git a/src/dump.ts b/src/dump.ts index 04d1fcf..0dd51c2 100644 --- a/src/dump.ts +++ b/src/dump.ts @@ -41,6 +41,10 @@ const getMonthStr = (): string => { return dayjs().format("YYYY-MM"); }; +async function dump(filePath: string) { + await $`pg_dump -d ${dbUri} -Fc -n public > ${filePath}`; +} + async function runBackup() { const dayStr = getDayStr(); const monthStr = getMonthStr(); @@ -52,23 +56,23 @@ async function runBackup() { if (!(await localDumpfile.exists())) { logger.log(`Creating dump ${localDumpfile.name}...`); - const cmd = $`pg_dump -d ${dbUri} -Fc -n public > ${filePath}`; - - await cmd; + await dump(filePath); } const monthlyBackupFile = s3.file(`dump/monthly/${monthStr}`); if (!(await monthlyBackupFile.exists())) { + const f = Bun.file(filePath); logger.log(`Uploading ${filePath} to ${monthlyBackupFile.name}`); - await monthlyBackupFile.write(localDumpfile); + await monthlyBackupFile.write(f); } const dailyBackupFile = s3.file(`dump/daily/${dayStr}`); if (!(await dailyBackupFile.exists())) { + const f = Bun.file(filePath); logger.log(`Uploading ${filePath} to ${dailyBackupFile.name}`); - await dailyBackupFile.write(localDumpfile); + await dailyBackupFile.write(f); } }