/** * Database infrastructure exports. * Provides configured database instance and schema management. */ import { createDatabase } from './connection.js'; import { loadConfig, validateConfig, type DatabaseConfig } from './config.js'; import { migrate, reset } from './schema.js'; import type { Database } from './database.js'; import type { Kysely } from 'kysely'; // Export types export type { Database, FeedItemTable, SeenIdTable } from './database.js'; export type { DatabaseConfig, DatabaseType, SqliteConfig, PostgresConfig, PostgresUrlConfig } from './config.js'; // Export functions for creating database instances export { createDatabase, loadConfig, validateConfig, migrate, reset }; /** * Get a configured database instance. * Uses environment variables for configuration. */ export function getDatabase(): Kysely { const config = loadConfig(); validateConfig(config); return createDatabase(config); } /** * Get a database instance with explicit config (for testing). */ export function getDatabaseWithConfig(config: DatabaseConfig): Kysely { validateConfig(config); return createDatabase(config); }