refactore manifest migration, don't throw when fetch a rule which id doesn't exist