2007-11-11

どのDBでTracEnvを作るか

結論から先に。気にするな。開発者も言ってる通りたいていはSQLiteで事足りる。レスポンスが遅くなってから乗り換えを考えれば充分。

使えるDBはSQLite, PostgreSQL, MySQLのまま変わりなし。
新機能はPostgreSQLでPUBLICスキーマ以外を使えるようになったこと。trac.iniとかでDB接続を書くときにURLパラメータぽく

postgres://[dbuser]:[dbpass]@[host]/[dbname]?schema=[schemaname]
と書く。 そのほかにもパラメータ系統のオプション利用はいろいろありそうな予感。

Trac ProjectのWikiだと暗黙にしか触れてないけど、現時点(trunkのr6139)のDB要件は:

  • DBユーザにSELECT, INSERT, UPDATE, DELETEGRANTされている。
  • DBユーザにTABLE, INDEXCREATE, ALTER, DROPGRANTされている。
  • エンコードがUTF-8であること。

という感じ。たぶん。
SQLiteを使ってる間は関係ないけど、DBを乗せ換える時はエンコード指定をしないとダメそう。TracEnvironment#PostgreSQLConnectionStringとか、MySqlDb参照で。

と、ここまで書いて、DBをmigrateするためのスクリプトがないのに気付いてしまった。(楽観論的観測では)簡単につくれてcontributeが受け入れられやすいので、誰か立ち上がってみないですか(w

0.11b1くらいは出るかと思ったが、context-refactoringの次はtimeline-refactoringらしい。今まで放置されていたTracDevToDoをcboosたんがメンテナンスしたらしいので精読せねば。

0 件のコメント: