pet-rescue
pet-rescue copied to clipboard
913 add null constraints and update org create service
🔗 Issue
#913
✍️ Description
This Pr adds null constraints to the Organization model name, email, and slug attributes. Initially, I tried to add the null constraints by simply adding the columns. Rails didn't approve and gave the following error
"Dangerous operation detected #strong_migrations === Setting NOT NULL on an existing column blocks reads and writes while every row is checked"
It then guided me to add a check constraint and validate it in a separate migration. Adding NOT NULL constraints on an existing column can be dangerous in a production environment and can lock the table and block reads and writes, which is why strong_migrations recommended a safer approach.
This will also allow for easier rollbacks if needed.
Also adds:
- email attribute on Organizations Create Service
- validation for presence and format for the following organization attributes: name, slug, and email
- All corresponding test updates