近いうちに、データベースの分割をします。
テーブルの大きさが大きいと、コテハンが壊れるのと、パフォーマンスも落ちるそうらしいので、その対策とAndroid版アンコちゃんとのデータベース構造の共通化を行うためにコメント、放送情報を現在のデータベースファイルに残して、コテハンと、コミュニティテーブルを分けたいと思います。
いまは、プリコンパイラの条件式で徐々に分割をしているところで、大まかな分割が終わったところですが、細かい動作確認や、自動移行の方法などの検討がまだなので、あと2,3週先になると思います。
結構な修正量があるので、それでも足りるかわかりません><
あと、現状データベースファイルのバージョンをファイル名に付けていますが、Androidアプリで使われているライブラリのバージョン管理方法を盛り込もうと思っています。
バージョンの取得、設定のコードは下記のようにします。
public static int getVersion() { lock (typeof( clsDatabase)) { SQLiteCommand sqlcomm = new SQLiteCommand("PRAGMA user_version;", _sqliteConnection); long version = (Int64)sqlcomm.ExecuteScalar(); return (int)version; } } public static void setVersion(int version) { SQLiteCommand sqlcomm = new SQLiteCommand(string.Format("PRAGMA user_version={0}", version), _sqliteConnection); sqlcomm.ExecuteNonQuery(); }
コテハンデータ移行ツールの開発をされている方向けに一足早い情報提供でした。
テーブルの項目については、特にいじる予定はありません。
具体的なバージョン番号ですが、既存のテーブルは、0か2が入る予定で分割版のほうは3にいたします。