55
66
77import sqlite3
8- import zipfile
98
109from datetime import date
1110from pathlib import Path
1211
13- from root_config import DIR_DB
12+ from config import DIR_DB , DIR_DB_BACKUP
13+ from common import create_zip_for_file , _process_test
1414
1515
16- DIR_DB_BACKUP = DIR_DB / "backup"
17- DIR_DB_BACKUP .mkdir (parents = True , exist_ok = True )
18-
1916FILE_NAME = Path (__file__ ).resolve ()
2017
2118
22- def create_zip_for_file (
23- file_name_zip : str | Path ,
24- file_name : Path ,
25- delete_file_name : bool = True ,
26- ):
27- with zipfile .ZipFile (file_name_zip , mode = "w" , compression = zipfile .ZIP_DEFLATED ) as f :
28- f .write (file_name , arcname = file_name .name )
29-
30- if delete_file_name :
31- file_name .unlink ()
32-
33-
3419def backup (
3520 connect : sqlite3 .Connection ,
3621 file_name : Path ,
@@ -50,33 +35,14 @@ def backup(
5035 return file_name
5136
5237
53- def _process_test (connect : sqlite3 .Connection ):
54- connect .executescript (
55- """
56- create table if not exists stocks (
57- date text,
58- trans text,
59- symbol text,
60- qty real,
61- price real
62- );
63-
64- insert into stocks values ('2006-01-05', 'BUY', 'RHAT', 100, 35.14);
65- insert into stocks values ('2006-05-01', 'BUY', 'TFAR', 40, 112.10);
66- """
67- )
68-
69- print ()
70- print (connect .execute ("select * from stocks" ).fetchall ())
71- print ()
72-
73-
7438with sqlite3 .connect (":memory:" ) as connect :
39+ print ("MEMORY" )
7540 _process_test (connect )
7641
7742 file_name_backup = DIR_DB_BACKUP / f"{ FILE_NAME .stem } _memory_{ date .today ()} .db"
7843 file_name_backup_zip = backup (connect , file_name_backup )
7944 print (f"Создан бэкап базы данных в: { file_name_backup_zip } " )
45+ print ()
8046
8147
8248with sqlite3 .connect (
@@ -85,8 +51,10 @@ def _process_test(connect: sqlite3.Connection):
8551) as connect :
8652 connect .execute ('pragma journal_mode=wal' )
8753
54+ print ("FILE" )
8855 _process_test (connect )
8956
9057 file_name_backup = DIR_DB_BACKUP / f"{ FILE_NAME .stem } _wal_{ date .today ()} .db"
9158 file_name_backup_zip = backup (connect , file_name_backup )
9259 print (f"Создан бэкап базы данных в: { file_name_backup_zip } " )
60+ print ()
0 commit comments