やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLAlchemyを使ってみた

DBを改善したかったが、使い方がよくわからず…。

成果物

GitHubPython.SQLAlchemy.ForeignKey.201706301315

結論

DBファイル、create tableはできた。しかし外部キー定義ができなかった。

使い方がわかりにくすぎる。SQL文を書いたほうが早く確実。SQLAlchemyに置き換えるための事前学習だけの価値があるとは思えなかった。不便になるだけな気がする。メリットが見えず、デメリットばかり実感する。

使った感想

  • 書きたいSQLを表すにはどういうコードにすればいいかわからない
    • create table
      • 複数の書き方があるっぽい(どうやって実装すればいいかわからない)
        • オブジェクト生成形式
        • class定義形式
      • 専用クラスのパッケージやモジュールが複数に分かれている
        • 何を使えば何を表現できるのかわからない
        • 何をimportすればいいかわからない
        • importするパッケージ、モジュール、クラス名がわからない

所感

SQLite3を使ってデータ管理したい。この場合、どのような形で実装するのが良いのか。判断が難しい。

方法 欠点
外部SQLファイルと外部sqlite3コマンドを使う 現状の実装。コマンド実行、ファイルパスなど外部リソース連携のところで引数が増えたり本質的でないコードが増える
datasetを使ってラッパを書く 一部のSQL文にしか対応していないので拡張性に不安。自作なので不安。
SQLAlchemyを使う 学習コスト、実装コストが高い

C#のEntityFrameworkみたいに楽に扱えたら良かったのに……。

SQL文で書くのが最も楽というオチ。