Redmine 奥の手¶
はじめに¶
あまりお薦めできないことや、トリッキーなことなどを隔離してメモを残すページです。
こんなときに・・・¶
間違って大量のチケットを追加し削除後、チケット番号の発番を追加前時点からにしたい¶
チケットを登録し、それを削除しても、次のチケットの番号は削除したチケットの次の番号となります。
しかし、数千件のチケットを登録し、削除したときなどは、さすがにチケットの発番を元に戻したいことがあります。
MySQL限定ですが、チケットのテーブルのAUTO_INCREMENTの値を戻すことで可能になります。
例えば、チケット番号123までのチケットがあり、そこにチケットを大量追加・削除したあと、チケット番号124から発番されるようにしたい場合、issuesテーブルのAUTO_INCREMENT設定値を123に設定します。
mysql> ALTER TABLE issues AUTO_INCREMENT=123;
123より大きいチケットが登録されていなければ(削除済みならOK)、次の発番は124からとなります。
mysql> SHOW TABLE STATUS LIKE 'issues'\G; *************************** 1. row *************************** Name: issues Engine: InnoDB Version: 10 Row_format: Compact Rows: 123 Avg_row_length: 1489 Data_length: 16384 Max_data_length: 0 Index_length: 163840 Data_free: 9437184 Auto_increment: 124 Create_time: 2014-06-10 21:34:26 Update_time: NULL Check_time: NULL Collation: utf8_general_ci Checksum: NULL Create_options: Comment: 1 row in set (0.00 sec) ERROR: No query specified mysql>