script/mvcar/backend/init_db.py

41 lines
1.0 KiB
Python

# backend/init_db.py
import sqlite3
import os
# 获取当前文件所在目录
basedir = os.path.abspath(os.path.dirname(__file__))
db_path = os.path.join(basedir, '..', 'data', 'cars.db')
# 创建数据目录(如果不存在)
os.makedirs(os.path.dirname(db_path), exist_ok=True)
# 创建数据库连接
conn = sqlite3.connect(db_path)
# 确保使用UTF-8编码
conn.execute('PRAGMA encoding = "UTF-8"')
cursor = conn.cursor()
# 创建车辆表
cursor.execute('''
CREATE TABLE IF NOT EXISTS cars (
id INTEGER PRIMARY KEY AUTOINCREMENT,
plate TEXT UNIQUE NOT NULL,
phone TEXT NOT NULL,
brand TEXT NOT NULL
)
''')
# 插入示例数据
sample_cars = [
("京B67890", "131-2222-2222", "本田雅阁"),
("沪C11111", "132-3333-3333", "大众帕萨特"),
("浙D22222", "133-4444-4444", "奔驰E级")
]
cursor.executemany('INSERT OR IGNORE INTO cars (plate, phone, brand) VALUES (?, ?, ?)', sample_cars)
# 提交更改并关闭连接
conn.commit()
conn.close()
print("数据库初始化完成")