The install function should check that each component is unique before creating (e.g., channels, fields, field groups, etc.). If the component already exists, the installer should update the existing component or simply move on.
If install fails, components could be initialized while the module is still listed as uninstalled. When the user tries to install the module again, install will fail due to non-unique ids.
In GitLab by @areynold on Apr 16, 2019, 17:03
The install function should check that each component is unique before creating (e.g., channels, fields, field groups, etc.). If the component already exists, the installer should update the existing component or simply move on.
If install fails, components could be initialized while the module is still listed as uninstalled. When the user tries to install the module again, install will fail due to non-unique ids.