Files
BOTKlining/doners/old/database.py
2025-06-08 20:55:08 +09:00

89 lines
2.6 KiB
Python

import sqlite3
def create_tables():
conn = sqlite3.connect('bot_klining.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
telegram_id INTEGER UNIQUE,
name TEXT,
phone TEXT
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS addresses (
id INTEGER PRIMARY KEY,
user_id INTEGER,
address TEXT,
FOREIGN KEY(user_id) REFERENCES users(id)
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS orders (
id INTEGER PRIMARY KEY,
user_id INTEGER,
address TEXT,
cleaning_time TEXT,
cleaning_type TEXT,
payment_method TEXT,
order_id TEXT UNIQUE,
FOREIGN KEY(user_id) REFERENCES users(id)
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS logs (
id INTEGER PRIMARY KEY,
user_id INTEGER,
action TEXT,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY(user_id) REFERENCES users(id)
)
''')
conn.commit()
conn.close()
def add_user(telegram_id, name, phone):
conn = sqlite3.connect('bot_klining.db')
cursor = conn.cursor()
cursor.execute('INSERT OR IGNORE INTO users (telegram_id, name, phone) VALUES (?, ?, ?)', (telegram_id, name, phone))
conn.commit()
conn.close()
def update_user_name(telegram_id, name):
conn = sqlite3.connect('bot_klining.db')
cursor = conn.cursor()
cursor.execute('UPDATE users SET name = ? WHERE telegram_id = ?', (name, telegram_id))
conn.commit()
conn.close()
def update_user_phone(telegram_id, phone):
conn = sqlite3.connect('bot_klining.db')
cursor = conn.cursor()
cursor.execute('UPDATE users SET phone = ? WHERE telegram_id = ?', (phone, telegram_id))
conn.commit()
conn.close()
def add_address(telegram_id, address):
conn = sqlite3.connect('bot_klining.db')
cursor = conn.cursor()
cursor.execute('SELECT id FROM users WHERE telegram_id = ?', (telegram_id,))
user_id = cursor.fetchone()[0]
cursor.execute('INSERT INTO addresses (user_id, address) VALUES (?, ?)', (user_id, address))
conn.commit()
conn.close()
def delete_address(telegram_id, address):
conn = sqlite3.connect('bot_klining.db')
cursor = conn.cursor()
cursor.execute('SELECT id FROM users WHERE telegram_id = ?', (telegram_id,))
user_id = cursor.fetchone()[0]
cursor.execute('DELETE FROM addresses WHERE user_id = ? AND address = ?', (user_id, address))
conn.commit()
conn.close()