Surface shared inventory failures and isolate test database storage
This commit is contained in:
@@ -23,7 +23,7 @@ try {
|
||||
}
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const DATA_DIR = path.join(__dirname, 'data');
|
||||
const DATA_DIR = process.env.IHALEIST_SHARED_DATA_DIR || path.join(__dirname, 'data');
|
||||
const DB_PATH = path.join(DATA_DIR, 'kalem.sqlite');
|
||||
|
||||
const SCHEMA = `
|
||||
@@ -56,11 +56,14 @@ export function available() {
|
||||
|
||||
function open() {
|
||||
if (db) return db;
|
||||
if (!DatabaseSync) return null;
|
||||
if (!DatabaseSync) throw new Error('Kalem deposu bu sunucuda kullanılamıyor.');
|
||||
fs.mkdirSync(DATA_DIR, { recursive: true });
|
||||
db = new DatabaseSync(DB_PATH);
|
||||
db.exec('PRAGMA journal_mode = WAL;');
|
||||
db.exec(SCHEMA);
|
||||
const candidate = new DatabaseSync(DB_PATH);
|
||||
try {
|
||||
candidate.exec('PRAGMA journal_mode = WAL;');
|
||||
candidate.exec(SCHEMA);
|
||||
db = candidate;
|
||||
} catch (error) { candidate.close(); throw error; }
|
||||
return db;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user