diff --git a/account_manager.py b/account_manager.py
index 109a516bb9b875a18046a377d674c913975a61bd..4c5d5ded8e2891ef926c60fe9206a802dbd75910 100755
--- a/account_manager.py
+++ b/account_manager.py
@@ -1,24 +1,31 @@
 #!/usr/bin/env python3
 import json
-import rc_util
 import argparse
 import signal
-import uuid
-import pika
 import rc_util
 from rc_rmq import RCRMQ
 import rabbit_config as rcfg
-import time
 
-parser = argparse.ArgumentParser(description = "Account management driver script")
-parser.add_argument(
-    "username", help="Username that should be locked/unlocked")
+parser = argparse.ArgumentParser(
+    description="Account management driver script"
+)
+parser.add_argument("username", help="Username that should be locked/unlocked")
 parser.add_argument(
-    "state", choices=['ok', 'hold', 'certification', 'pre_certification'], help="Choose from states (ok,hold,certification,pre_certification)")
+    "state",
+    choices=["ok", "hold", "certification", "pre_certification"],
+    help="Choose from states (ok,hold,certification,pre_certification)",
+)
 parser.add_argument(
-    "-s", "--service", nargs='+', default='all', choices=['ssh', 'newjobs', 'expiration', 'all'], help="List one or more services to be blocked (default: %(default)s)")
+    "-s",
+    "--service",
+    nargs="+",
+    default="all",
+    choices=["ssh", "newjobs", "expiration", "all"],
+    help="List one or more services to be blocked (default: %(default)s)",
+)
 parser.add_argument(
-    "-v", "--verbose", action="store_true", help="verbose output")
+    "-v", "--verbose", action="store_true", help="verbose output"
+)
 parser.add_argument(
     "-n", "--dry-run", action="store_true", help="enable dry run mode"
 )
@@ -41,11 +48,12 @@ msg["state"] = state
 msg["service"] = service
 msg["queuename"] = queuename
 msg["updated_by"], msg["host"] = rc_util.get_caller_info()
+msg["interface"] = "CLI"
 
 # publish msg with acctmgr.{uname} routing key.
 rc_rmq.publish_msg(
     {
-        "routing_key": f'acctmgr.request.{queuename}',
+        "routing_key": f"acctmgr.request.{queuename}",
         "msg": msg,
     }
 )
@@ -61,18 +69,23 @@ def callback(ch, method, properties, body):
     username = msg["username"]
 
     if msg["success"]:
-        print(f"Account for {username} has been {msg['action']}ed.\n Updating the user state in DB")
+        print(
+            f"Account for {username} has been {msg['action']}ed.\n "
+            "Updating the user state in DB"
+        )
     else:
-        print(f"There's some issue in account management agents for {username}")
+        print(
+            f"There's some issue in account management agents for {username}"
+        )
         errmsg = msg.get("errmsg", [])
         for err in errmsg:
             print(err)
 
-
     ch.basic_ack(delivery_tag=method.delivery_tag)
     rc_rmq.stop_consume()
     rc_rmq.delete_queue(queuename)
 
+
 print(f"Request {username} account state set to {state}.")
 
 # Set initial timeout timer
@@ -83,7 +96,7 @@ print("Waiting for completion...")
 rc_rmq.start_consume(
     {
         "queue": queuename,
-        "routing_key": f'certified.{queuename}',
+        "routing_key": f"certified.{queuename}",
         "cb": callback,
     }
 )
diff --git a/group_manager.py b/group_manager.py
index 3422dc84b761f3ea0d4b97af247f44bb01a00a0d..205dadf6d950bb82f2c08d17b532e6269adc1d14 100755
--- a/group_manager.py
+++ b/group_manager.py
@@ -40,7 +40,7 @@ def manage_group(op, usernames, groupname, debug=False):
     response = 0
 
     interface = "CLI"
-    executed_by, host = get_caller_info()
+    updated_by, host = get_caller_info()
 
     def handler(ch, method, properties, body):
         if debug:
@@ -78,7 +78,7 @@ def manage_group(op, usernames, groupname, debug=False):
                     "groups": {f"{op}": [f"{groupname}"]},
                     "username": user,
                     "host": host,
-                    "executed_by": executed_by,
+                    "updated_by": updated_by,
                     "interface": interface,
                 },
             }
diff --git a/migrations/20240729_groups_rename_column.sql b/migrations/20240729_groups_rename_column.sql
new file mode 100644
index 0000000000000000000000000000000000000000..d9abac056501428e081b26c88ea17cfdde63b63e
--- /dev/null
+++ b/migrations/20240729_groups_rename_column.sql
@@ -0,0 +1,27 @@
+BEGIN TRANSACTION;
+
+-- Create new table with updated_by column
+CREATE TABLE groups_temp (
+        id INTEGER PRIMARY KEY,
+        user TEXT,
+        "group" TEXT,
+        operation INTEGER,
+        date DATETIME,
+        host TEXT,
+        updated_by TEXT,
+        interface TEXT
+);
+
+-- Copy all entries from old table
+INSERT INTO groups_temp(user,"group",operation,date,host,updated_by,interface)
+SELECT user,"group",operation,date,host,executed_by,interface
+FROM groups;
+
+-- Drop old table
+DROP TABLE groups;
+
+-- Rename new table
+ALTER TABLE groups_temp
+RENAME TO groups;
+
+COMMIT;
diff --git a/prod_rmq_agents/group_member.py b/prod_rmq_agents/group_member.py
index ae7e1f2a8a7b644188ac70867f48ab9387523d79..d0fb17ca9d2dbbe80d6689649879266a81a4b345 100644
--- a/prod_rmq_agents/group_member.py
+++ b/prod_rmq_agents/group_member.py
@@ -36,8 +36,8 @@ def insert_db(operation, groupname, msg):
             "operation": op,
             "date": datetime.now(),
             "host": msg["host"],
-            "executed_by": msg["executed_by"],
-            "interface": msg["interface"],
+            "updated_by": msg["updated_by"],
+            "interface": msg.get("interface", ""),
         }
     )
 
@@ -53,7 +53,7 @@ def group_member(ch, method, properties, body):
       groups     (dict): A dictionary with `add` or `remove` key.
         add      (list): A list of groups to be added for the user.
         remove   (list): A list of groups to be removed for the user.
-      executed_by (str): The user who request the change.
+      updated_by  (str): The user who request the change.
       host        (str): Hostname where the request comes from.
       interface   (str): whether it's from CLI or WebUI.
 
diff --git a/pyproject.toml b/pyproject.toml
index 1d15ad7d9a23fece8d2321b3f09abba072fa4c6e..8b9f29313a2c22986854bca71d94a8625353db71 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,9 @@
 [tool.black]
-line-length=79
-target-version=['py36']
+line-length = 79
+target-version = ['py36']
+preview = true
+[tool.pylint.main]
+disable = ["invalid-name", "import-error", "unused-argument", "broad-except"]
+ignore = ["config.py", "tests.py"]
+[tool.pylint.format]
+max-line-length = 79