From ec5846631ecb2471c02e91e134d796dc2a22f4b4 Mon Sep 17 00:00:00 2001 From: Joshua Ryder Date: Mon, 10 Nov 2025 18:54:58 -0500 Subject: [PATCH] Fix: Create data directory before initializing search database MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensures the data directory exists before attempting to open the SQLite database during Docker image build. This fixes SQLITE_CANTOPEN error during build-search-index. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- backend/src/searchDatabase.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/src/searchDatabase.js b/backend/src/searchDatabase.js index 5a4f3730..20c98bfa 100644 --- a/backend/src/searchDatabase.js +++ b/backend/src/searchDatabase.js @@ -1,6 +1,7 @@ const sqlite3 = require('sqlite3').verbose(); const path = require('path'); const fs = require('fs').promises; +const fsSync = require('fs'); class SearchDatabase { constructor(dbPath) { @@ -10,6 +11,13 @@ class SearchDatabase { // Initialize database connection async initialize() { + // Ensure data directory exists + const dataDir = path.dirname(this.dbPath); + if (!fsSync.existsSync(dataDir)) { + fsSync.mkdirSync(dataDir, { recursive: true }); + console.log('Created data directory:', dataDir); + } + return new Promise((resolve, reject) => { this.db = new sqlite3.Database(this.dbPath, (err) => { if (err) {