feat: create database file if it does not exist
This commit is contained in:
		
							
								
								
									
										14
									
								
								server.ts
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								server.ts
									
									
									
									
									
								
							@@ -5,7 +5,19 @@ import { Database } from "bun:sqlite"; // bun:sqlite は非同期が基本
 | 
			
		||||
 | 
			
		||||
const projectRoot = import.meta.dirname; // server.ts がプロジェクトルートにあると仮定
 | 
			
		||||
 | 
			
		||||
const db = new Database(path.join(projectRoot, "data/podcast.db"));
 | 
			
		||||
const dbPath = path.join(projectRoot, "data/podcast.db");
 | 
			
		||||
 | 
			
		||||
// data ディレクトリが存在しない場合は作成
 | 
			
		||||
const dataDir = path.dirname(dbPath);
 | 
			
		||||
if (!fs.existsSync(dataDir)) {
 | 
			
		||||
  fs.mkdirSync(dataDir, { recursive: true });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// データベースファイルが存在しない場合、空のファイルを作成し、スキーマを適用
 | 
			
		||||
const db = new Database(dbPath);
 | 
			
		||||
if (!fs.existsSync(dbPath)) {
 | 
			
		||||
  fs.closeSync(fs.openSync(dbPath, "w")); // 空のDBファイルを作成
 | 
			
		||||
}
 | 
			
		||||
await db.exec(fs.readFileSync(path.join(projectRoot, "schema.sql"), "utf-8"));
 | 
			
		||||
 | 
			
		||||
// 静的ファイルを提供するディレクトリのパス設定
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user