You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.8 KiB
105 lines
2.8 KiB
5 months ago
|
import sqlite3
|
||
|
import sys
|
||
|
|
||
|
import pandas as pd
|
||
|
from pandas import DataFrame
|
||
|
|
||
|
conn = sqlite3.connect(sys.path[0]+"/network.db")
|
||
|
|
||
|
def execute_sql(sql):
|
||
|
"""
|
||
|
执行sql语句
|
||
|
:param sql:
|
||
|
:return:
|
||
|
"""
|
||
|
cursor = conn.cursor()
|
||
|
cursor.execute(sql)
|
||
|
conn.commit()
|
||
|
|
||
|
|
||
|
def search(sql) -> DataFrame:
|
||
|
return pd.read_sql(sql, conn)
|
||
|
|
||
|
|
||
|
def delete_obj(obj_id):
|
||
|
cursor = conn.cursor()
|
||
|
delete_obj_sql = f"delete from sim_objs where ObjID='{obj_id}'"
|
||
|
cursor.execute(delete_obj_sql)
|
||
|
delete_conn_sql = f"delete from sim_conn where conn_id in (select conn_id from conn_config where node_id='{obj_id}')"
|
||
|
cursor.execute(delete_conn_sql)
|
||
|
conn.commit()
|
||
|
|
||
|
|
||
|
def truncate_db():
|
||
|
init_database()
|
||
|
|
||
|
def init_database():
|
||
|
cursor = conn.cursor()
|
||
|
cursor.execute("""
|
||
|
DROP TABLE IF EXISTS `conn_config`;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
CREATE TABLE `conn_config` (
|
||
|
`conn_id` varchar(55) NULL DEFAULT NULL,
|
||
|
`node_id` varchar(55) NULL DEFAULT NULL,
|
||
|
`node_ifs` int(0) NULL DEFAULT NULL,
|
||
|
`ip` varchar(55) NULL DEFAULT NULL,
|
||
|
`mac` varchar(128) NULL DEFAULT NULL,
|
||
|
`conn_port` varchar(32) NULL DEFAULT NULL,
|
||
|
`addr` varchar(255) NULL DEFAULT NULL,
|
||
|
CONSTRAINT `conn_config_sim_conn_conn_id_fk` FOREIGN KEY (`conn_id`) REFERENCES `sim_conn` (`conn_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
) ;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
DROP TABLE IF EXISTS `mac_table`;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
CREATE TABLE `mac_table` (
|
||
|
`obj_id` varchar(55) NULL DEFAULT NULL,
|
||
|
`node_ifs` int(0) NULL DEFAULT NULL,
|
||
|
`mac` varchar(55) NULL DEFAULT NULL,
|
||
|
CONSTRAINT `mac_table_sim_objs_ObjID_fk` FOREIGN KEY (`obj_id`) REFERENCES `sim_objs` (`ObjID`) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
) ;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
DROP TABLE IF EXISTS `router_table`;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
CREATE TABLE `router_table` (
|
||
|
`obj_id` varchar(55) NULL DEFAULT NULL,
|
||
|
`node_ifs` int(0) NULL DEFAULT NULL,
|
||
|
`segment` varchar(55) NULL DEFAULT NULL,
|
||
|
CONSTRAINT `router_table_sim_objs_ObjID_fk` FOREIGN KEY (`obj_id`) REFERENCES `sim_objs` (`ObjID`) ON DELETE CASCADE ON UPDATE CASCADE
|
||
|
) ;
|
||
|
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
DROP TABLE IF EXISTS `sim_conn`;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
CREATE TABLE `sim_conn` (
|
||
|
`conn_id` varchar(255) NOT NULL ,
|
||
|
`ConfigCorrect` int(0) NULL DEFAULT NULL ,
|
||
|
PRIMARY KEY (`conn_id`)
|
||
|
) ;
|
||
|
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
DROP TABLE IF EXISTS `sim_objs`;
|
||
|
""")
|
||
|
cursor.execute("""
|
||
|
CREATE TABLE `sim_objs` (
|
||
|
`ObjID` varchar(50) NOT NULL,
|
||
|
`ObjType` int(0) NULL DEFAULT NULL,
|
||
|
`ObjLabel` varchar(20) NULL DEFAULT NULL,
|
||
|
`ObjX` int(0) NULL DEFAULT NULL,
|
||
|
`ObjY` int(0) NULL DEFAULT NULL,
|
||
|
`ConfigCorrect` int(0) NULL DEFAULT NULL,
|
||
|
PRIMARY KEY (`ObjID`)
|
||
|
) ;
|
||
|
""")
|
||
|
conn.commit()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
init_database()
|