From aef8215402c245e69d49c39e4b9cb76501f92938 Mon Sep 17 00:00:00 2001 From: broquemonsieur Date: Sat, 3 Aug 2024 18:01:52 -0700 Subject: [PATCH] Only drop the second most recent backup --- src/invidious/database/migrator.cr | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/invidious/database/migrator.cr b/src/invidious/database/migrator.cr index 41340253..1ec7b6ca 100644 --- a/src/invidious/database/migrator.cr +++ b/src/invidious/database/migrator.cr @@ -68,17 +68,32 @@ class Invidious::Database::Migrator end private def copy_table(table_name : String) + puts "Creating a table backup.#{table_name}. Most recent version" @db.exec <<-SQL CREATE TABLE IF NOT EXISTS backup.#{table_name} ( id bigserial PRIMARY KEY ) SQL - @db.exec("DROP TABLE backup.#{table_name}") + puts "Creating a table backup.#{table_name}. Second most recent version" + @db.exec <<-SQL + CREATE TABLE IF NOT EXISTS backup.#{table_name}_second_most_recent ( + id bigserial PRIMARY KEY + ) + SQL + + puts "Populating table backup.#{table_name}. Second most recent version" + @db.exec <<-SQL + SELECT * INTO backup.#{table_name}_second_most_recent + FROM backup.#{table_name} + SQL @db.exec <<-SQL SELECT * INTO backup.#{table_name} FROM public.#{table_name} SQL + + puts "Deleting table backup.#{table_name}. Second most recent version" + @db.exec("DROP TABLE backup.#{table_name}_second_most_recent") end end