73 lines
1.7 KiB
Python
73 lines
1.7 KiB
Python
import sqlite3
|
|
|
|
def connect():
|
|
return sqlite3.connect("cafe.db")
|
|
|
|
def setup_database():
|
|
db = connect()
|
|
cur = db.cursor()
|
|
|
|
# Users
|
|
cur.execute("""
|
|
CREATE TABLE IF NOT EXISTS users(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
username TEXT,
|
|
password TEXT,
|
|
role TEXT
|
|
)
|
|
""")
|
|
|
|
# Menu
|
|
cur.execute("""
|
|
CREATE TABLE IF NOT EXISTS menu(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
nama TEXT,
|
|
harga REAL,
|
|
gambar TEXT
|
|
)
|
|
""")
|
|
|
|
# Orders
|
|
cur.execute("""
|
|
CREATE TABLE IF NOT EXISTS orders(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
nama TEXT,
|
|
total REAL
|
|
)
|
|
""")
|
|
|
|
# Pembayaran
|
|
cur.execute("""
|
|
CREATE TABLE IF NOT EXISTS pembayaran(
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
order_id INTEGER,
|
|
total REAL
|
|
)
|
|
""")
|
|
|
|
# User default
|
|
cur.execute("SELECT COUNT(*) FROM users")
|
|
if cur.fetchone()[0] == 0:
|
|
users = [
|
|
("admin","admin","admin"),
|
|
("kasir","kasir","kasir"),
|
|
("pembeli","pembeli","pembeli"),
|
|
("pemilik","pemilik","pemilik")
|
|
]
|
|
cur.executemany("INSERT INTO users(username,password,role) VALUES (?,?,?)", users)
|
|
db.commit()
|
|
|
|
# Menu default
|
|
cur.execute("SELECT COUNT(*) FROM menu")
|
|
if cur.fetchone()[0] == 0:
|
|
menu = [
|
|
("Mie Ayam", 18000, "mie ayam.webp"),
|
|
("Mie Kuah", 10000, "mie kuah.webp"),
|
|
("Es Teh Manis", 5000, "es teh.webp"),
|
|
("Jus Jeruk", 8000, "jus jeruk.webp")
|
|
]
|
|
cur.executemany("INSERT INTO menu(nama,harga,gambar) VALUES (?,?,?)", menu)
|
|
db.commit()
|
|
|
|
db.close()
|