This commit is contained in:
cash
2026-03-29 23:50:49 -05:00
commit eb5e194331
56 changed files with 4010 additions and 0 deletions

60
init_db_local.py Normal file
View File

@@ -0,0 +1,60 @@
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, Text, Boolean
# Connect to local SQLite DB
engine = create_engine("sqlite:///./dev.db")
metadata = MetaData()
# Define tables to initialize
users = Table(
"users", metadata,
Column("id", Integer, primary_key=True),
Column("ip", String, unique=True, nullable=False),
Column("xp", Integer, default=0),
Column("soft_banned", Boolean, default=False),
Column("first_visit", String), # could be DateTime if stored that way
Column("ban_status", String, default="ok"), # or Integer if enum-based
)
runs = Table(
"runs", metadata,
Column("id", Integer, primary_key=True),
Column("user_id", Integer, nullable=False),
Column("created_at", String),
Column("completed_at", String),
)
repos = Table(
"repos", metadata,
Column("id", Integer, primary_key=True),
Column("url", Text, nullable=False),
Column("owner", String),
Column("name", String),
Column("license", String),
Column("language", String),
Column("stars", Integer),
Column("forks", Integer),
Column("description", Text),
)
packages = Table(
"packages", metadata,
Column("id", Integer, primary_key=True),
Column("repo_id", Integer, nullable=False),
Column("name", String, nullable=False),
Column("version", String),
)
output = Table(
"output", metadata,
Column("id", Integer, primary_key=True),
Column("run_id", Integer, nullable=False),
Column("summary", Text),
Column("score", Integer),
Column("raw", Text),
)
# Create all tables
metadata.create_all(engine)
print("Database initialized with tables: users, runs, repos, packages, output")