Spaces:
Runtime error
Runtime error
| from databases import Database | |
| import logging | |
| from dotenv import load_dotenv | |
| from db.repository import Repository | |
| load_dotenv() | |
| class InsertDatabase(Repository): | |
| # Example function to insert data asynchronously | |
| async def insert_data(self, params, category_id): | |
| # SQL insert query with named placeholders | |
| query = """ | |
| INSERT INTO metadata (title, category_id, author, year, publisher) | |
| VALUES (:title, :category_id, :author, :year, :publisher) | |
| """ | |
| reference = { | |
| "title": params["title"], | |
| "category_id": category_id, # directly assign category_id | |
| "author": params["author"], | |
| "year": params["year"], | |
| "publisher": params["publisher"] | |
| } | |
| print(reference) | |
| try: | |
| # Execute the query with the provided values | |
| await self._exec(query, reference) | |
| logging.info( | |
| f"Data inserted successfully: {reference['title']}, {reference['author']}" | |
| ) | |
| except Exception as e: | |
| # Log any errors that occur during the database insert operation | |
| logging.error(f"Failed to insert data: {e}") | |
| raise # Re-raise the exception to allow further handling if needed | |