Skip to content

feat: nene2.database 抽象化層と Alembic をセットアップする#17

Merged
hideyukiMORI merged 1 commit into
mainfrom
feat/issue-14-database-layer
May 19, 2026
Merged

feat: nene2.database 抽象化層と Alembic をセットアップする#17
hideyukiMORI merged 1 commit into
mainfrom
feat/issue-14-database-layer

Conversation

@hideyukiMORI
Copy link
Copy Markdown
Owner

Summary

  • DatabaseQueryExecutorInterface / DatabaseTransactionManagerInterface (ABC) を新設
  • SqlAlchemyQueryExecutor で SQLite / MySQL / PostgreSQL に対応(SQLAlchemy Core、ORM なし)
  • Alembic 設定: env.pyDB_ADAPTER / DB_NAME 環境変数から URL を構築
  • 001 migration: notes / tags テーブル(created_at / updated_at 付き)

Test plan

  • DB_ADAPTER=sqlite DB_NAME=data/nene2.db uv run alembic upgrade head でテーブル作成確認
  • mypy --strict 通過
  • 35 passed

Closes #14

🤖 Generated with Claude Code

- DatabaseQueryExecutorInterface / DatabaseTransactionManagerInterface (ABC) を追加
- DatabaseConnectionException を追加
- SqlAlchemyQueryExecutor / SqlAlchemyTransactionManager を実装(SQLite/MySQL/PostgreSQL 対応)
- alembic init + env.py を環境変数ベースの URL 構築に設定
- 001: notes / tags テーブルの initial migration を追加
- sqlalchemy>=2.0, alembic>=1.13 を dependencies に追加
- data/ を .gitignore に追加

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hideyukiMORI hideyukiMORI merged commit 6a51b39 into main May 19, 2026
@hideyukiMORI hideyukiMORI deleted the feat/issue-14-database-layer branch May 19, 2026 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: nene2.database 抽象化層と Alembic をセットアップする

1 participant