yj
2026-03-31 4becf7b5eba5de2d9889f379eb88aeb6cb16f760
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
49
50
51
52
§
ž*ieãóŒ—ddlZddlZddlZejej¬¦«eje¦«ZGd„d¦«Zdd„Z    dS)éN)Úlevelcó—eZdZdd„Zd„ZdS)ÚDatabaseConfigú config.jsoncóü—    t|¦«5}tj|¦«}ddd¦«n #1swxYwYnZ#t$r t d|›d¦«‚tj$r t d|›d¦«‚wxYwd|vr)t d¦«td¦«‚|d}| dd    ¦«|_    t| d
d ¦«¦«|_ | d d ¦«|_ | dd¦«|_ | dd¦«|_| dd¦«|_dS)u%从JSON文件初始化数据库配置Nõ 配置文件 õ
 æœªæ‰¾åˆ°õ ä¸­JSON格式无效Údatabaseõ'配置文件中未找到数据库配置õ数据库配置缺失ÚhostÚ    localhostÚportéê ÚuserÚrootÚpasswordÚÚ database_nameÚadmin_dbÚcharsetÚutf8mb4)ÚopenÚjsonÚloadÚFileNotFoundErrorÚloggerÚerrorÚJSONDecodeErrorÚ
ValueErrorÚgetrÚintrrrrr)ÚselfÚ config_fileÚfÚconfigÚ    db_configs     ú&D:\project\python\AI_Admin\database.pyÚ__init__zDatabaseConfig.__init__ s«€ð    ÝkÑ"Ô"ð & aÝœ 1™œð &ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &øøå ð    ð    ð    Ý LŠLÐ@¨Ð@Ð@Ð@Ñ AÔ AÐ AØ ÝÔ#ð    ð    ð    Ý LŠLÐJ¨ÐJÐJÐJÑ KÔ KÐ KØ ð    øøøð ˜VÐ #Ð #Ý LŠLÐBÑ CÔ CÐ CÝÐ4Ñ5Ô5Ð 5à˜:Ô&ˆ    à—M’M &¨+Ñ6Ô6ˆŒ    Ý˜    Ÿ š  f¨dÑ3Ô3Ñ4Ô4ˆŒ    Ø—M’M &¨&Ñ1Ô1ˆŒ    Ø!Ÿ š  j°"Ñ5Ô5ˆŒ Ø&Ÿ]š]¨?¸JÑGÔGˆÔØ —}’} Y°    Ñ:Ô:ˆŒ ˆ ˆ s"‚>‘2¦ >²6¶>¹6º>¾ABc    ó—    tj|j|j|j|j|j|jtjj    ¬¦«}|S#t$r(}t  d|›¦«Yd}~dSd}~wwxYw)u#建立并返回MySQL数据库连接)rrrrr rÚ cursorclassu连接数据库时出错: N) ÚpymysqlÚconnectrrrrrrÚcursorsÚ
DictCursorÚ    Exceptionrr)r$Ú
connectionÚes   r)Úget_connectionzDatabaseConfig.get_connection$s“€ð     Ý œØ”YØ”YØ”YØœØÔ+Øœ Ý#œOÔ6ðñôˆJðÐ øÝð    ð    ð    Ý LŠLÐ9°aÐ9Ð9Ñ :Ô :Ð :ؐ44444øøøøð    øøøs‚A    A Á
A>ÁA9Á9A>N©r)Ú__name__Ú
__module__Ú __qualname__r*r4©ór)rr
s7€€€€€ð;ð;ð;ð;ð2ððððr:rrc
ó¼—    t|¦«5}tj|¦«}ddd¦«n #1swxYwYnZ#t$r t d|›d¦«‚tj$r t d|›d¦«‚wxYwd|vr)t d¦«td¦«‚|d}    tj    | 
dd    ¦«t| 
d
d ¦«¦«| 
d d ¦«| 
dd¦«| 
dd¦«¬¦«}n0#t$r#}t d|›¦«‚d}~wwxYw    |  ¦«5}| d| 
dd¦«›¦«| ¦«| d| 
dd¦«›¦«d}| |¦«d}| |¦«| ¦«t d¦«ddd¦«n #1swxYwYn0#t$r#}t d|›¦«‚d}~wwxYw| ¦«dS#| ¦«wxYw)u初始化数据库和所需表Nrr    r
r r r rrrrrrrrrr)rrrrru&建立初始数据库连接时出错: zCREATE DATABASE IF NOT EXISTS rrzUSE a¤
            CREATE TABLE IF NOT EXISTS content_type (
                id INT AUTO_INCREMENT PRIMARY KEY,
                code VARCHAR(50) NOT NULL UNIQUE,
                name VARCHAR(255) NOT NULL,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                INDEX idx_code (code)
            )
            a 
            CREATE TABLE IF NOT EXISTS content (
                id INT AUTO_INCREMENT PRIMARY KEY,
                type_id INT NOT NULL,
                question TEXT NOT NULL,
                answer TEXT NOT NULL,
                created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
                updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
                FOREIGN KEY (type_id) REFERENCES content_type(id) ON DELETE CASCADE,
                INDEX idx_type (type_id)
            )
            u数据库和表初始化成功!u初始化数据库时出错: )rrrrrrr r!r-r.r"r#r1ÚcursorÚexecuteÚcommitÚinfoÚclose)    r%r&r'r(r2r3r<Úcreate_contenttype_table_sqlÚcreate_content_table_sqls             r)Ú init_databaserC6s„€ðÝ +Ñ Ô ð    " !Ý”Y˜q‘\”\ˆFð    "ð    "ð    "ñ    "ô    "ð    "ð    "ð    "ð    "ð    "ð    "øøøð    "ð    "ð    "ð    "øøå ðððݏ Š Ð< [Ð<Ð<Ð<Ñ=Ô=Ð=Ø Ý Ô ðððݏ Š ÐF [ÐFÐFÐFÑGÔGÐGØ ðøøøð˜ÐÐݏ Š Ð>Ñ?Ô?Ð?ÝÐ0Ñ1Ô1Ð1àzÔ"€Ið
Ý”_Ø—’˜v {Ñ3Ô3ݐY—]’] 6¨4Ñ0Ô0Ñ1Ô1Ø—’˜v vÑ.Ô.Ø—]’] :¨rÑ2Ô2Ø—M’M )¨YÑ7Ô7ð 
ñ
ô
ˆ
ˆ
øõ ðððݏ Š ÐA¸aÐAÐAÑBÔBÐBØ øøøøðøøøð.Ø × Ò Ñ  Ô  ð(    ; Fà NŠNØ]°·²¸ÐPZÑ1[Ô1[Ð]Ð]ñ ô ð ð × Ò Ñ Ô Ð ð NŠNÐN )§-¢-°ÀÑ"LÔ"LÐNÐNÑ OÔ OÐ Oð    ,Ð (ð NŠNÐ7Ñ 8Ô 8Ð 8ð (Ð $ð NŠNÐ3Ñ 4Ô 4Ð 4à × Ò Ñ Ô Ð å KŠKÐ9Ñ :Ô :Ð :ðQ(    ;ð(    ;ð(    ;ñ(    ;ô(    ;ð(    ;ð(    ;ð(    ;ð(    ;ð(    ;ð(    ;øøøð(    ;ð(    ;ð(    ;ð(    ;øøõR ðððݏ Š Ð8°QÐ8Ð8Ñ9Ô9Ð9Ø øøøøðøøøð    ×ÒÑÔÐÐÐøˆ
×ÒÑÔÐÐøøøsŠ‚>‘2¦ >²6¶>¹6º>¾ABÃB
EÅ
FÅ#FÆFÆ
I?ÆC    I3É' I?É3I7É7I?É:I7É;I?É>KÉ?
J,Ê    J'Ê'J,Ê,KËKr5)
rr-ÚloggingÚ basicConfigÚINFOÚ    getLoggerr6rrrCr9r:r)ú<module>rHs™ðØ € € € Ø€€€Ø€€€ð€Ô˜'œ,Ð'Ñ'Ô'Ð'Ø    ˆÔ    ˜8Ñ    $Ô    $€ð)ð)ð)ð)ð)ñ)ô)ð)ðXMðMðMðMðMðMr: