better migration with data update