俺です。
Aurora PostgreSQLから Aurora MySQL5.7への移行は右から左に鼻ほじりながらスッとできるもんではありません
事前調査でいくつか調べることがあったので何調べてたかのメモを残します。
つまづいたところとかしばき倒しておきたいところ | 読んだ記事 | どうしたか |
---|---|---|
移行元と移行先のRDBMSバージョンチェック | SELECT AURORA_VERSION() とかDMSのドキュメントとかAuroraのドキュメントとか | PostgreSQLとして制限, MySQLの制限, Auroraの制限を確認する |
移行元データ件数の確認 | とくになし | SnapshotからリストアしてSELECT COUNT(*)叩く.数千万件程度なら大したことないので鼻ほじる |
移行対象テーブルの定義情報確認 | なし |
\d table_name でcolumn, index, sequenceが関連付けられた列を確認する |
timestamp [ with time zone ]型の扱い | https://qiita.com/ykawakami/items/2449a24e3b82ff0cbab6 | datetimeに切り替えていく |
timestamp [ with time zone ]型の扱い | https://www.postgresql.jp/document/9.6/html/datatype-datetime.html | |
PostgreSQLのシーケンス番号チェック | http://php.o0o0.jp/article/postgres-sequence |
\d sequence_name でlast_valueをチェックする.ノーメンテで切り替えできるようにMAX + αでターゲットに定義しておく |
行サイズ制限 | https://dev.mysql.com/doc/refman/5.6/ja/innodb-restrictions.html | 可変長を固定長にしてくのつらい. SELECT MAX(LENGTH(column)) FROM hogeと戦い |
LOB型のチェック | なし | なかったので鼻ほじる.あったらLOB型の変換制約みる |
PostgreSQL独自の型 | なし | なかったので鼻ほじる. あったら... |
TriggerやView,Procedure, Functionオブジェクトの確認 | なし | なかったので鼻ほじる.あったら鼻ほじ貫通からの死 |
そしてこれは続きます。
ではまた!