#author("2016-06-06T16:31:01+09:00","default:wikiwriter","wikiwriter") &tag(SQLite); *目次 [#g0f10591] #contents *関連ページ [#hd2a4d93] -[[SQLite3]] -[[FMDB]] *参考情報 [#ofb7a547] *アドバンス [#p4ca26b7] **データベースが変更されたどうかを確認 [#c0a53769] -データベースファイルの24〜27バイトにfile change counterというのが格納されている。[[Checksum for a SQLite database? - Stack Overflow:http://stackoverflow.com/questions/4637764/checksum-for-a-sqlite-database]]によると以下のコマンドで表示することができる。 -これをsqlite3_file_change_counter.shとして保存。sqlite3_file_change_counter.sh dbfilename で実行。 #pre{{ #!/bin/sh # linuxの場合 #od --skip-bytes 24 --read-bytes=4 -tx1 $1 | sed -n '1s/[^[:space:]]*[[:space:]]//p' | tr -d ' ' # macの場合 od -j 24 -N 4 -tx1 $1 | sed -n '1s/[^[:space:]]*[[:space:]]//p' | tr -d ' ' }} **PRAGMA設定を表示する [#k3f5f549] -[[php - With SQlite, how do you show current PRAGMA settings? - Stack Overflow:http://stackoverflow.com/questions/4526310/with-sqlite-how-do-you-show-current-pragma-settings]]によると一覧表示設定はない? -個別には以下の方法で表示できる。 #pre{{ sqlite> pragma synchronous; 2 sqlite> }} *トラブルシューティング [#v42b934b] **マルチプロセスの書き込み、読み込みってどうなってる? [#jcdab392] -マルチプロセス/マルチスレッドに対応しているはず… -しかし種々の管理ツールでsqliteファイルを開いておき、その間Railsのdb:seedでデータを変更すると検知されないことが多い。特にdb:seedでデータを増やしたあと、db:resetしても過去データが読み込まれてしまう。