Initial commit

This commit is contained in:
2026-07-07 15:54:55 +05:30
commit fc55700d0e
55 changed files with 82488 additions and 0 deletions

84
legacy/count_rows.py Normal file
View File

@@ -0,0 +1,84 @@
import pymysql
import json
import csv
import sys
def main():
try:
with open('config.json', 'r') as f:
config = json.load(f)
except FileNotFoundError:
print("Error: config.json not found.")
sys.exit(1)
databases = config.get('databases', [])
if not databases:
print("No databases to check.")
return
host = config['host']
port = config.get('port', 3306)
user = config['user']
password = config['password']
table = config['table']
image_column = config.get('image_column', 'test_image_path')
summary_data = []
print(f"Starting to count rows and columns in {len(databases)} databases...")
for db_name in databases:
try:
connection = pymysql.connect(
host=host,
user=user,
password=password,
database=db_name,
port=port,
connect_timeout=5
)
with connection.cursor() as cursor:
# Count rows where image is present
query_rows = f"SELECT COUNT(*) as count FROM {table} WHERE {image_column} IS NOT NULL AND {image_column} != ''"
cursor.execute(query_rows)
row_count = cursor.fetchone()[0]
# Count columns in the table
query_cols = f"SELECT count(*) FROM information_schema.columns WHERE table_schema = '{db_name}' AND table_name = '{table}'"
cursor.execute(query_cols)
col_count = cursor.fetchone()[0]
print(f"[{db_name}] => {row_count} rows, {col_count} columns")
summary_data.append([db_name, row_count, col_count, "Success"])
connection.close()
except pymysql.err.OperationalError as e:
# Usually means database doesn't exist or connection failed
print(f"[{db_name}] => Database not found or connection failed: {e.args[1]}")
summary_data.append([db_name, 0, 0, f"Error: DB not found ({e.args[1]})"])
except pymysql.err.ProgrammingError as e:
# Usually means table or column doesn't exist
print(f"[{db_name}] => Table or column missing: {e.args[1]}")
summary_data.append([db_name, 0, 0, f"Error: Table/Column missing ({e.args[1]})"])
except Exception as e:
print(f"[{db_name}] => Error: {e}")
summary_data.append([db_name, 0, 0, f"Error: {e}"])
# Write summary report
summary_filename = "DATABASE_ROW_AND_COLUMN_COUNTS.csv"
with open(summary_filename, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['Database Name', 'Row Count', 'Column Count', 'Status'])
for row in summary_data:
writer.writerow(row)
print(f"\n=====================================")
print(f"ALL DONE! Counts saved to: {summary_filename}")
print(f"=====================================")
if __name__ == '__main__':
main()