-
-
Notifications
You must be signed in to change notification settings - Fork 813
Closed
Labels
Milestone
Description
This should use an explicit transaction to avoid "database locked" errors:
datasette/datasette/utils/internal_db.py
Lines 68 to 85 in b89cac3
| async def populate_schema_tables(internal_db, db): | |
| database_name = db.name | |
| def delete_everything(conn): | |
| conn.execute( | |
| "DELETE FROM catalog_tables WHERE database_name = ?", [database_name] | |
| ) | |
| conn.execute( | |
| "DELETE FROM catalog_columns WHERE database_name = ?", [database_name] | |
| ) | |
| conn.execute( | |
| "DELETE FROM catalog_foreign_keys WHERE database_name = ?", [database_name] | |
| ) | |
| conn.execute( | |
| "DELETE FROM catalog_indexes WHERE database_name = ?", [database_name] | |
| ) | |
| await internal_db.execute_write_fn(delete_everything) |
Reactions are currently unavailable