Add podgrab featureset
This commit is contained in:
parent
095bf52a2f
commit
233dd5b5c0
33 changed files with 2315 additions and 125 deletions
82
test_migration.py
Normal file
82
test_migration.py
Normal file
|
@ -0,0 +1,82 @@
|
|||
"""
|
||||
Test script to verify that the 'tags' column exists in the 'podcasts' table.
|
||||
This script can be used to test if the migration has been applied correctly.
|
||||
"""
|
||||
import os
|
||||
import sqlite3
|
||||
import sys
|
||||
|
||||
def main():
|
||||
"""
|
||||
Check if the 'tags' column exists in the 'podcasts' table.
|
||||
If not, suggest running the migration.
|
||||
"""
|
||||
print("Testing database schema...")
|
||||
|
||||
# Find the database file
|
||||
db_path = 'instance/podcastrr.db'
|
||||
if not os.path.exists(db_path):
|
||||
db_path = 'podcastrr.db'
|
||||
if not os.path.exists(db_path):
|
||||
print("Error: Database file not found.")
|
||||
return 1
|
||||
|
||||
print(f"Using database: {db_path}")
|
||||
|
||||
# Connect to the database
|
||||
try:
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Check if the podcasts table exists
|
||||
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='podcasts'")
|
||||
if not cursor.fetchone():
|
||||
print("Error: The 'podcasts' table does not exist in the database.")
|
||||
print("You may need to initialize the database first with 'python init_db.py'")
|
||||
return 1
|
||||
|
||||
# Check if the tags column exists
|
||||
cursor.execute("PRAGMA table_info(podcasts)")
|
||||
columns = [column[1] for column in cursor.fetchall()]
|
||||
|
||||
if 'tags' in columns:
|
||||
print("Success: The 'tags' column exists in the 'podcasts' table.")
|
||||
print("The migration has been applied correctly.")
|
||||
return 0
|
||||
else:
|
||||
print("Error: The 'tags' column does not exist in the 'podcasts' table.")
|
||||
print("You need to run the migration with 'python run_migrations.py'")
|
||||
|
||||
# Ask if the user wants to run the migration now
|
||||
response = input("Do you want to run the migration now? (y/n): ")
|
||||
if response.lower() == 'y':
|
||||
print("Running migration...")
|
||||
import subprocess
|
||||
result = subprocess.run([sys.executable, 'run_migrations.py'],
|
||||
capture_output=True,
|
||||
text=True)
|
||||
print(result.stdout)
|
||||
|
||||
# Check if the migration was successful
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("PRAGMA table_info(podcasts)")
|
||||
columns = [column[1] for column in cursor.fetchall()]
|
||||
|
||||
if 'tags' in columns:
|
||||
print("Success: The migration was applied successfully.")
|
||||
return 0
|
||||
else:
|
||||
print("Error: The migration failed to add the 'tags' column.")
|
||||
return 1
|
||||
else:
|
||||
return 1
|
||||
except Exception as e:
|
||||
print(f"Error: {str(e)}")
|
||||
return 1
|
||||
finally:
|
||||
if 'conn' in locals():
|
||||
conn.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
Loading…
Add table
Add a link
Reference in a new issue