import asyncio
from app.database import AsyncSessionLocal, engine
from sqlalchemy import text

async def test_connection():
    try:
        async with engine.begin() as conn:
            result = await conn.execute(text('SELECT 1'))
            print('✅ Database connected successfully!')
            print('Result:', result.scalar())
            
            # Check if database exists
            result = await conn.execute(text('SELECT DATABASE()'))
            print('Current database:', result.scalar())
            
            # Check if tables exist
            result = await conn.execute(text('SHOW TABLES'))
            tables = result.fetchall()
            if tables:
                print(f'✅ Found {len(tables)} tables:')
                for table in tables:
                    print(f'  - {table[0]}')
            else:
                print('⚠️ No tables found! Please import smartlife_db.sql')
                
    except Exception as e:
        print('❌ Database connection failed!')
        print('Error:', str(e))
        print('\n💡 Make sure:')
        print('1. XAMPP MySQL is running')
        print('2. Database "smartlife_db" exists')
        print('3. Import d:\\work\\smartlife\\database\\smartlife_db.sql in phpMyAdmin')

if __name__ == '__main__':
    asyncio.run(test_connection())
