From c4c4be6169409fee66c0ddb7a0f7e222b5b37179 Mon Sep 17 00:00:00 2001
From: Bo-Chun Louis Chen <louistw@uab.edu>
Date: Tue, 16 Apr 2024 15:11:25 -0500
Subject: [PATCH] Create a new table insead of adding columns

---
 migrations/20240327_add_created_table.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/migrations/20240327_add_created_table.py b/migrations/20240327_add_created_table.py
index cc417cc..3b5c9c4 100644
--- a/migrations/20240327_add_created_table.py
+++ b/migrations/20240327_add_created_table.py
@@ -19,7 +19,6 @@ def upgrade():
     csv_filename = "./migrations/account-registration-history.csv"
 
     db = dataset.connect(f"sqlite:///{db_path}/{db_name}")
-    table = db["users"]
 
     # Get all username and last_update
     usernames = db.query("SELECT username, last_update FROM users")
@@ -47,12 +46,13 @@ def upgrade():
                     "source": row[2],
                 }
 
-    # Create new columns
-    table.create_column("date", db.types.datetime)
-    table.create_column("source", db.types.text)
+    data_types = dict(
+        username=db.types.text, date=db.types.datetime, source=db.types.text
+    )
 
-    # Update database in chunk
-    table.update_many(list(users.values()), ["username"], ensure=True)
+    # Insert into database in chunks
+    table = db["user_created"]
+    table.insert_many(list(users.values()), ensure=True, types=data_types)
 
 
 if __name__ == "__main__":
-- 
GitLab