Creates the MicrosoftSync::PartialSyncChange Table. With this table,
we'll be able to track what users need to be examined when performing a
partial sync for the Microsoft Teams sync integration.
closes INTEROP-6803
flag = microsoft_group_enrollments_syncing
test-plan:
* Pull the change down and migrate your database.
* Using a rails console, try to create a
MicrosoftSync::PartialSyncChange record without any other parameters. It
should fail, as you have to have a course, user, and enrollment_type.
* Try and create another record, first with just a course, then just a
user, then just an enrollment type. Again, this should all fail.
* Create a new record, this time with a User, Course, and
enrollment_type (this should be "owner" or "member") and save it to
the database.
* Try and create another record with all of the same parameters. This
should fail, due to uniqueness contraints.
* Try and create another record with the same User and Course, but use
the opposite enrollment_type. This should successfully save.
Change-Id: I8ae899036672bc1e65d26a560c35743d7fb22024
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/265628
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>