タグ

ブックマーク / nasuta.seesaa.net (1)

  • 定期的なテーブルのクリーンアップ

    ユーザ登録で仮登録、登録のステップを踏むケースでは仮登録で放置されるとデータベースにゴミが残りますので、これを定期的に削除します。 クリーンアップメソッドをモデルに追加 Userモデルに24時間以上経っていて、status がfalseのレコードを削除するメソッドを追加します。 def self.cleanup User.delete_all(["status = ? and update_at < ?",false,1.days.ago]); end ここで status = false と直接記載するとsqlite3ではエラーになります。sqlite3ではfalseは'f'として保存しているので status = 'f' と書けばエラーにならないのですが、これではほかのDBとの互換性がとれません。このようにプレースホルダをつかうと違いを吸収してくれるようです。script/runne

    定期的なテーブルのクリーンアップ
  • 1