-
Notifications
You must be signed in to change notification settings - Fork 4
/
triggers.py
48 lines (39 loc) · 1.59 KB
/
triggers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from config import mysql
mysql = mysql
cursor = mysql.cursor(dictionary=True)
def create_insert_trigger(file_name, table_name):
trigger_name = f'{table_name}_after_insert'
cursor.execute(f'''
CREATE TRIGGER `{trigger_name}` AFTER INSERT ON `{table_name}` FOR EACH ROW BEGIN
INSERT INTO recents(file_name, folder_name, date_time)
VALUES('{file_name}', '{table_name}', CURRENT_TIMESTAMP());
END
''')
mysql.commit()
def create_delete_trigger(file_name, table_name):
trigger_name = f'{table_name}_after_delete'
cursor.execute(f'''
CREATE TRIGGER `{trigger_name}` AFTER DELETE ON `{table_name}` FOR EACH ROW BEGIN
INSERT INTO recents(file_name, folder_name, date_time)
VALUES('{file_name}', '{table_name}', CURRENT_TIMESTAMP());
END
''')
mysql.commit()
def create_update_trigger(file_name, table_name):
trigger_name = f'{table_name}_after_update'
cursor.execute(f'''
CREATE TRIGGER `{trigger_name}` AFTER UPDATE ON `{table_name}` FOR EACH ROW BEGIN
INSERT INTO recents(file_name, folder_name, date_time)
VALUES('{file_name}', '{table_name}', CURRENT_TIMESTAMP());
END
''')
mysql.commit()
def create_alter_trigger(file_name, table_name):
trigger_name = f'{table_name}_after_alter'
cursor.execute(f'''
CREATE TRIGGER `{trigger_name}` AFTER ALTER ON `{table_name}` FOR EACH ROW BEGIN
INSERT INTO recents(file_name, folder_name, date_time)
VALUES('{file_name}', '{table_name}', CURRENT_TIMESTAMP());
END
''')
mysql.commit()