diff --git a/transforme_sql.py b/transforme_sql.py new file mode 100644 index 0000000..1ef9f9a --- /dev/null +++ b/transforme_sql.py @@ -0,0 +1,42 @@ +import sqlite3 + +def transform_database(db_path): + # Connect to the SQLite database + conn = sqlite3.connect(db_path) + cursor = conn.cursor() + + # 1. Create the new table with the desired schema. + cursor.execute(''' + CREATE TABLE IF NOT EXISTS file_access_log_new ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + timestamp TEXT, + rel_path TEXT, + ip_address TEXT, + user_agent TEXT, + device_id TEXT + ) + ''') + + # 2. Copy data from the old table, applying the following transformations: + # - Rename full_path to rel_path and remove '/mnt/' from its entries. + # - Omit the referrer column. + # - Copy ip_address into the new device_id column. + cursor.execute(''' + INSERT INTO file_access_log_new (id, timestamp, rel_path, ip_address, user_agent, device_id) + SELECT id, timestamp, REPLACE(full_path, '/mnt/', ''), ip_address, user_agent, ip_address + FROM file_access_log + ''') + + # 3. Drop the old table. + cursor.execute('DROP TABLE file_access_log') + + # 4. Rename the new table to use the original table's name. + cursor.execute('ALTER TABLE file_access_log_new RENAME TO file_access_log') + + # Commit the changes and close the connection. + conn.commit() + conn.close() + +if __name__ == "__main__": + # Replace 'your_database.db' with the path to your SQLite database file. + transform_database("access_log.db")