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>