Addition Of Files
This commit is contained in:
70
scripts/prepare_release_db.py
Normal file
70
scripts/prepare_release_db.py
Normal file
@@ -0,0 +1,70 @@
|
||||
import sqlite3
|
||||
import shutil
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Add parent dir to path to find version.py
|
||||
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
from version import VERSION
|
||||
|
||||
# Paths
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
DB_DIR = os.path.join(BASE_DIR, "database")
|
||||
SOURCE_DB = os.path.join(DB_DIR, "umamusume.db")
|
||||
SEED_DB = os.path.join(DB_DIR, "umamusume_seed.db")
|
||||
|
||||
def create_seed_db():
|
||||
print(f"Source DB: {SOURCE_DB}")
|
||||
print(f"Target Seed DB: {SEED_DB}")
|
||||
print(f"Injecting Version: {VERSION}")
|
||||
|
||||
if not os.path.exists(SOURCE_DB):
|
||||
print("Error: Source database not found!")
|
||||
return
|
||||
|
||||
# Copy file
|
||||
print("Copying database...")
|
||||
shutil.copy2(SOURCE_DB, SEED_DB)
|
||||
|
||||
# Connect to seed DB and wipe user data
|
||||
print("Cleaning user data...")
|
||||
conn = sqlite3.connect(SEED_DB)
|
||||
cur = conn.cursor()
|
||||
|
||||
try:
|
||||
# Wipe user tables
|
||||
cur.execute("DELETE FROM owned_cards")
|
||||
cur.execute("DELETE FROM deck_slots")
|
||||
cur.execute("DELETE FROM user_decks")
|
||||
# Ensure ID sequences reset
|
||||
cur.execute("DELETE FROM sqlite_sequence WHERE name IN ('owned_cards', 'user_decks', 'deck_slots')")
|
||||
|
||||
# Verify card data remains
|
||||
cur.execute("SELECT COUNT(*) FROM support_cards")
|
||||
card_count = cur.fetchone()[0]
|
||||
print(f"Preserved {card_count} support cards.")
|
||||
|
||||
# Add Metadata Table
|
||||
cur.execute("""
|
||||
CREATE TABLE IF NOT EXISTS system_metadata (
|
||||
key TEXT PRIMARY KEY,
|
||||
value TEXT
|
||||
)
|
||||
""")
|
||||
cur.execute("INSERT OR REPLACE INTO system_metadata (key, value) VALUES (?, ?)", ('app_version', VERSION))
|
||||
|
||||
conn.commit()
|
||||
|
||||
# Optimize size
|
||||
print("Vacuuming database...")
|
||||
cur.execute("VACUUM")
|
||||
|
||||
print("Seed database created successfully!")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error cleaning database: {e}")
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
create_seed_db()
|
||||
Reference in New Issue
Block a user