
- Added helper functions to check if tables, columns, and indexes already exist - Modified upgrade function to skip operations if objects already exist - Added try-except blocks to handle potential errors during creation operations - Updated downgrade function to check existence before dropping objects - Fixed compatibility with databases where tables are already created