-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
migrate to using django-popolo instead of pombola's core models #1594
Comments
A summary of the progress so far (in 1594-django-popolo-migration):
I have been keeping some notes whilst working through the process. |
@dracos points out that mysociety/sayit@46b4dc8 might be handy, too. |
…kers We have changed the form of IDs in the South African PopIt instance several times, but without removing the entries corresponding to old PopIt IDs from the popit-django popit_person table. This meant that the name resolution on importing new committee proceedings could associate the speeches with various SayIt speakers corresponding to different entries in that table. This commit introduces a script to hopefully clean up that mess; it tries to remove any row with an deprecated format ID from the popit_person table, safely removing any SayIt Speaker associated with that row. This should fix #1597 and hopefully #1601. The underlying issue (that Pombola ZA stores the identity of people in five different places) is being addressed by #1594.
…kers We have changed the form of IDs in the South African PopIt instance several times, but without removing the entries corresponding to old PopIt IDs from the popit-django popit_person table. This meant that the name resolution on importing new committee proceedings could associate the speeches with various SayIt speakers corresponding to different entries in that table. This commit introduces a script to hopefully clean up that mess; it tries to remove any row with an deprecated format ID from the popit_person table, safely removing any SayIt Speaker or EntityName associated with that row. It also removes any rows from this table that can't be associated with any Pombola core Person any more, so long as they are not referenced any more. This should fix #1597 and hopefully #1601. The underlying issue (that Pombola ZA stores the identity of people in five different places) is being addressed by #1594.
…kers We have changed the form of IDs in the South African PopIt instance several times, but without removing the entries corresponding to old PopIt IDs from the popit-django popit_person table. This meant that the name resolution on importing new committee proceedings could associate the speeches with various SayIt speakers corresponding to different entries in that table. This commit introduces a script to hopefully clean up that mess; it tries to remove any row with an deprecated format ID from the popit_person table, safely removing any SayIt Speaker or EntityName associated with that row. It also removes any rows from this table that can't be associated with any Pombola core Person any more, so long as they are not referenced any more. This should fix #1597 and hopefully #1601. The underlying issue (that Pombola ZA stores the identity of people in five different places) is being addressed by #1594.
@duncanparkes and I have done some more work on the data migration, adding migrations for the rest of Person's relationships as well as Position, Organisation, Identifier, and AlternativePersonName. Those that still need attention include:
|
After a quick survey, the other models that refer to the core objects that are being changed in this migration are:
|
Things to check:
|
I'm creating this new ticket to more accurately represent the work involved in this. (We had been using #1551 as a placeholder for this job.) This plan probably needs some work.
The great advantage in doing this is that SayIt, when embedded in Pombola, and the rest of Pombola's code would use to the same Person objects. This would remove complex layers of indirection and state, and be a good step in reducing the complexity of maintaining the Pombola ZA scrapers. It's also a good move in terms of code reuse and moving Pombola to be more like a collection of components.
class Person: pass
The text was updated successfully, but these errors were encountered: