前回に引き続きAWSのDMSで移行したデータベースはプライマリキーに対してAUTO_INCREMENTが設定されないとのことだったので、移行元のinformation_schemaからプライマリキーの情報を取得し一括でAUTO_INCREMENTを設定するSQLを作成しました。
今回のAUTO_INCREMENTが移行されない件についてはAWSのドキュメントに普通に書いてありました。
MySQL 互換データベースの AWS Database Migration Service のソースとしての使用 – AWS Database Migration Service
作成したSQLは以下の通りです。
SELECT CONCAT( "ALTER TABLE ", TABLE_NAME, " CHANGE ", COLUMN_NAME, " ", COLUMN_NAME, " ", COLUMN_TYPE, " AUTO_INCREMENT;" ) as alter_auto_increment FROM information_schema.columns WHERE table_schema = "[database_name]" and is_nullable = "NO" and column_key = "PRI" and extra = "auto_increment" ;
実行してみたところ以下のようになりました。
システムによってはWhere句で調整が必要かもしれません。前回のSQL以上に使い道がないと思います。