package model import ( "context" "database/sql" ) // DB represents a database with read/write separation and migration support type DB interface { // WriterDB returns the write database connection WriterDB() *sql.DB // ReaderDB returns the read database connection (may be same as writer) ReaderDB() *sql.DB // GetDatabaseSchemaVersion returns the current database schema version GetDatabaseSchemaVersion(ctx context.Context) (string, error) // SetDatabaseSchemaVersion sets the database schema version SetDatabaseSchemaVersion(ctx context.Context, version string) error }