| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import sqlite3
- def create_database():
- conn = sqlite3.connect('buff_prices.db')
- cursor = conn.cursor()
-
- # 商品主表
- cursor.execute('''
- CREATE TABLE IF NOT EXISTS products (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- buff_id INTEGER NOT NULL UNIQUE,
- name VARCHAR(500) NOT NULL,
- market_hash_name VARCHAR(255) NOT NULL UNIQUE,
- type VARCHAR(100),
- rarity VARCHAR(50),
- icon_url TEXT,
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
- )
- ''')
-
- # 平台价格表
- cursor.execute('''
- CREATE TABLE IF NOT EXISTS platform_prices (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- product_id INTEGER NOT NULL,
- platform_code VARCHAR(20) NOT NULL,
- min_price DECIMAL(10,2),
- recorded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
- FOREIGN KEY (product_id) REFERENCES products(id) ON DELETE CASCADE,
- UNIQUE(product_id, platform_code)
- )
- ''')
-
- # 创建索引
- cursor.execute('CREATE INDEX IF NOT EXISTS idx_products_market_hash ON products(market_hash_name)')
- cursor.execute('CREATE INDEX IF NOT EXISTS idx_platform_prices_product ON platform_prices(product_id)')
-
- conn.commit()
- conn.close()
- print("数据库创建成功")
- if __name__ == "__main__":
- create_database()
|