mj add another admin

This commit is contained in:
2026-04-26 22:39:52 +03:00
parent bfdfaa142c
commit 8ed964f3bb
5 changed files with 160 additions and 19 deletions

13
db.py
View File

@@ -77,6 +77,7 @@ def init_db():
'ALTER TABLE commands ADD COLUMN player_id TEXT',
'ALTER TABLE farm_settings ADD COLUMN bandit_camp_enabled INTEGER NOT NULL DEFAULT 0',
"ALTER TABLE clan_members ADD COLUMN features TEXT NOT NULL DEFAULT 'farm,admin'",
'ALTER TABLE users ADD COLUMN clan_id INTEGER REFERENCES clans(id)',
]:
try:
c.execute(_col)
@@ -89,6 +90,7 @@ def init_db():
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL UNIQUE,
password_hash TEXT NOT NULL,
clan_id INTEGER REFERENCES clans(id),
created_at TEXT NOT NULL DEFAULT (datetime('now'))
)
''')
@@ -111,11 +113,22 @@ def init_db():
clan_id INTEGER NOT NULL REFERENCES clans(id),
player_id TEXT NOT NULL,
player_name TEXT,
features TEXT NOT NULL DEFAULT 'farm,admin',
joined_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(clan_id, player_id)
)
''')
# Migration: Auto-assign existing users to their clan_id if they are the owner
try:
c.execute('''
UPDATE users
SET clan_id = (SELECT id FROM clans WHERE owner_id = users.id)
WHERE clan_id IS NULL AND EXISTS (SELECT 1 FROM clans WHERE owner_id = users.id)
''')
except Exception:
pass
conn.commit()
conn.close()