tables from legacy to new through Django (with minimal cleaning to have the import go through) and removing migrations from submit and liaisons as they interfere with the clean slate of the new database, adjusting IPR model to add null=True on fields with nulls in the database - Legacy-Id: 3778
233 lines
5.8 KiB
Python
233 lines
5.8 KiB
Python
class LegacyRouter(object):
|
|
legacy_apps = ["idindex", "idtracker", "ietfauth", ""]
|
|
legacy_models = ["AnnouncedFrom", "AnnouncedTo", "Announcement", "ScheduledAnnouncement",
|
|
"TelechatDates"]
|
|
|
|
def db_for_read(self, model, **hints):
|
|
if model._meta.db_table in legacy_tables:
|
|
return 'legacy'
|
|
return None
|
|
|
|
def db_for_write(self, model, **hints):
|
|
if model._meta.db_table in legacy_tables:
|
|
raise Exception("You can't write to the legacy table %s" % model._meta.db_table)
|
|
return None
|
|
|
|
def allow_relation(self, obj1, obj2, **hints):
|
|
if (obj1._meta.db_table in legacy_tables) != (obj2._meta.db_table in legacy_tables):
|
|
return False
|
|
return None
|
|
|
|
def allow_syncdb(self, db, model):
|
|
if db == 'legacy':
|
|
return False
|
|
if model._meta.db_table in legacy_tables:
|
|
return False
|
|
return None
|
|
|
|
legacy_tables = set((
|
|
"acronym",
|
|
"agenda_cat",
|
|
"agenda_items",
|
|
"all_id",
|
|
"announced_from",
|
|
"announced_to",
|
|
"announcements",
|
|
"area_directors",
|
|
"area_group",
|
|
"area_status",
|
|
"areas",
|
|
"ballot_info",
|
|
"ballots",
|
|
"ballots_comment",
|
|
"ballots_discuss",
|
|
"bash_agenda",
|
|
"chairs",
|
|
"chairs_history",
|
|
"document_comments",
|
|
"draft_versions_mirror",
|
|
"dt_request",
|
|
"email_addresses",
|
|
"from_bodies",
|
|
"g_chairs",
|
|
"g_editors",
|
|
"g_secretaries",
|
|
"g_secretary",
|
|
"g_status",
|
|
"g_tech_advisors",
|
|
"g_type",
|
|
"general_info",
|
|
"goals_milestones",
|
|
"group_flag",
|
|
"group_internal",
|
|
"groups_ietf",
|
|
"hit_counter",
|
|
"id_approved_detail",
|
|
"id_authors",
|
|
"id_dates",
|
|
"id_intended_status",
|
|
"id_internal",
|
|
"id_restricted_word",
|
|
"id_status",
|
|
"id_submission_detail",
|
|
"id_submission_env",
|
|
"id_submission_status",
|
|
"idst_users",
|
|
"iesg_history",
|
|
"iesg_login",
|
|
"iesg_password",
|
|
"iesg_telechatdate",
|
|
"ietfauth_ietfuserprofile",
|
|
"ietfauth_usermap",
|
|
"ietfworkflows_annotationtag",
|
|
"ietfworkflows_annotationtagobjectrelation",
|
|
"ietfworkflows_objectannotationtaghistoryentry",
|
|
"ietfworkflows_objecthistoryentry",
|
|
"ietfworkflows_objectstreamhistoryentry",
|
|
"ietfworkflows_objectworkflowhistoryentry",
|
|
"ietfworkflows_statedescription",
|
|
"ietfworkflows_stateobjectrelationmetadata",
|
|
"ietfworkflows_stream",
|
|
"ietfworkflows_streamdelegate",
|
|
"ietfworkflows_streamedid",
|
|
"ietfworkflows_wgworkflow",
|
|
"ietfworkflows_wgworkflow_selected_states",
|
|
"ietfworkflows_wgworkflow_selected_tags",
|
|
"imported_mailing_list",
|
|
"interim_info",
|
|
"interim_meetings_acronym",
|
|
"interim_meetings_groups_ietf",
|
|
"interim_meetings_interim_info",
|
|
"interim_meetings_interim_new",
|
|
"interim_meetings_meetings",
|
|
"interim_meetings_minutes",
|
|
"interim_meetings_slides",
|
|
"internet_drafts",
|
|
"ipr_contacts",
|
|
"ipr_detail",
|
|
"ipr_ids",
|
|
"ipr_licensing",
|
|
"ipr_notifications",
|
|
"ipr_rfcs",
|
|
"ipr_selecttype",
|
|
"ipr_updates",
|
|
"irtf",
|
|
"irtf_chairs",
|
|
"liaison_detail",
|
|
"liaison_detail_temp",
|
|
"liaison_managers",
|
|
"liaison_purpose",
|
|
"liaisons_interim",
|
|
"liaisons_members",
|
|
"liaisons_outgoingliaisonapproval",
|
|
"liaisons_sdoauthorizedindividual",
|
|
"lists_email",
|
|
"lists_email_refs",
|
|
"lists_list",
|
|
"mailing_list",
|
|
"mailinglists_domain",
|
|
"mailinglists_domain_approvers",
|
|
"management_issues",
|
|
"meeting_agenda_count",
|
|
"meeting_attendees",
|
|
"meeting_conflict",
|
|
"meeting_conflict_groups",
|
|
"meeting_hours",
|
|
"meeting_rooms",
|
|
"meeting_sessionstatusname",
|
|
"meeting_times",
|
|
"meeting_venues",
|
|
"meetings",
|
|
"messages",
|
|
"migrate_stat",
|
|
"minutes",
|
|
"nomcom",
|
|
"nomcom_members",
|
|
"non_session",
|
|
"non_session_ref",
|
|
"none_wg_mailing_list",
|
|
"not_meeting_groups",
|
|
"old_document_comments",
|
|
"outstanding_tasks",
|
|
"permissions_objectpermission",
|
|
"permissions_objectpermissioninheritanceblock",
|
|
"permissions_permission",
|
|
"permissions_permission_content_types",
|
|
"permissions_principalrolerelation",
|
|
"permissions_role",
|
|
"person_or_org_info",
|
|
"phone_numbers",
|
|
"postal_addresses",
|
|
"print_name",
|
|
"prior_address",
|
|
"proceedings",
|
|
"pwg_cat",
|
|
"ref_doc_states_new",
|
|
"ref_next_states_new",
|
|
"ref_resp",
|
|
"replaced_ids",
|
|
"request",
|
|
"rfc_authors",
|
|
"rfc_editor_queue_mirror",
|
|
"rfc_editor_queue_mirror_refs",
|
|
"rfc_index_mirror",
|
|
"rfc_intend_status",
|
|
"rfc_status",
|
|
"rfcs",
|
|
"rfcs_obsolete",
|
|
"roll_call",
|
|
"scheduled_announcements",
|
|
"scheduled_announcements_temp",
|
|
"sdo_chairs",
|
|
"sdos",
|
|
"secretariat_staff",
|
|
"session_conflicts",
|
|
"session_names",
|
|
"session_request_activities",
|
|
"session_status",
|
|
"slide_types",
|
|
"slides",
|
|
"staff_work_detail",
|
|
"staff_work_history",
|
|
"sub_state",
|
|
"switches",
|
|
"task_status",
|
|
"telechat",
|
|
"telechat_dates",
|
|
"telechat_minutes",
|
|
"telechat_users",
|
|
"temp_admins",
|
|
"temp_agenda71166",
|
|
"temp_id_authors",
|
|
"temp_telechat_attendees",
|
|
"temp_txt",
|
|
"templates",
|
|
"updated_ipr",
|
|
"uploads",
|
|
"uploads_temp",
|
|
"users",
|
|
"web_gm_chairs",
|
|
"web_login_info",
|
|
"web_user_info",
|
|
"wg_agenda",
|
|
"wg_meeting_sessions",
|
|
"wg_meeting_sessions_temp",
|
|
"wg_password",
|
|
"wg_proceedings_activities",
|
|
"wg_www_pages",
|
|
"wgchairs_protowriteup",
|
|
"wgchairs_wgdelegate",
|
|
"workflows_state",
|
|
"workflows_state_transitions",
|
|
"workflows_stateinheritanceblock",
|
|
"workflows_stateobjectrelation",
|
|
"workflows_statepermissionrelation",
|
|
"workflows_transition",
|
|
"workflows_workflow",
|
|
"workflows_workflowmodelrelation",
|
|
"workflows_workflowobjectrelation",
|
|
"workflows_workflowpermissionrelation",
|
|
))
|
|
|
|
|