mj add another admin
This commit is contained in:
13
db.py
13
db.py
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user