diff --git a/frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.py b/frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.py index 53e0c1ee8c..df0a0c9470 100644 --- a/frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.py +++ b/frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.py @@ -41,20 +41,20 @@ def execute(filters=None): ) SELECT m.name as 'table', - ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name = m.name) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'data_size_mb', + ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name = m.name) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'data_size', ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name IN ( SELECT name FROM sqlite_master WHERE type = 'index' AND tbl_name = m.name - )) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'index_size_mb', + )) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'index_size', ROUND(CAST((SELECT SUM(pgsize) FROM dbstat WHERE name = m.name OR name IN ( SELECT name FROM sqlite_master WHERE type = 'index' AND tbl_name = m.name - )) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'total_size_mb' + )) * page_size.size / (1024.0 * 1024.0 * 1024.0) AS FLOAT), 2) as 'size' FROM sqlite_master m CROSS JOIN page_size WHERE m.type = 'table' AND m.name NOT LIKE 'sqlite_%' - ORDER BY total_size_mb DESC;""", + ORDER BY size DESC;""", }, as_dict=1, ) diff --git a/frappe/desk/doctype/system_health_report/system_health_report.py b/frappe/desk/doctype/system_health_report/system_health_report.py index e206676889..f3732c6407 100644 --- a/frappe/desk/doctype/system_health_report/system_health_report.py +++ b/frappe/desk/doctype/system_health_report/system_health_report.py @@ -310,10 +310,14 @@ class SystemHealthReport(Document): _cols, data = db_report() self.database = frappe.db.db_type - self.db_storage_usage = sum(table.size for table in data) + self.db_storage_usage = sum(table.size or 0.0 for table in data) for row in data[:5]: self.append("top_db_tables", row) - self.database_version = frappe.db.sql("select version()")[0][0] + + if frappe.db.db_type == "sqlite": + self.database_version = frappe.db.sql("select sqlite_version()")[0][0] + else: + self.database_version = frappe.db.sql("select version()")[0][0] if frappe.db.db_type == "mariadb": self.bufferpool_size = frappe.db.sql("show variables like 'innodb_buffer_pool_size'")[0][1]