sql >> データベース >  >> RDS >> Mysql

1年以上前のレコードを削除する

    このためには2つのステップが必要です。まず最初に、メッセージを削除する日付をパラメーターとして受け取るメソッドが必要であり、@Queryは必要ありません。 注釈。

    したがって、リポジトリには

    のようなものが必要です。
        @Modifying
        public void deleteByCreatedAtBefore(Date expiryDate);
    

    これで、サービスメソッドで日付を計算し、次のように渡します

        public void performTweetCleanup(){
           //calculate date
           Calendar cal = Calendar.getInstance();
           Date today = cal.getTime();
           cal.add(Calendar.YEAR, -1);
           Date previousYear = cal.getTime();
    
           //call the method
           MyTweeterRepository.deleteByCreatedAtBefore(previousYear);
         }
    


    1. カレンダーイベントの繰り返しといくつかの最終的な計算

    2. IDEF1X表記

    3. Sequelize:WHERELIKE句のフィールドを連結します

    4. より多くのトランザクションログファットをトリミングする