122 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # flake8: noqa
 | |
| from redis import Redis
 | |
| 
 | |
| from authentik.lib.config import CONFIG
 | |
| from lifecycle.migrate import BaseMigration
 | |
| 
 | |
| SQL_STATEMENT = """BEGIN TRANSACTION;
 | |
| ALTER TABLE passbook_audit_event RENAME TO authentik_audit_event;
 | |
| ALTER TABLE passbook_core_application RENAME TO authentik_core_application;
 | |
| ALTER TABLE passbook_core_group RENAME TO authentik_core_group;
 | |
| ALTER TABLE passbook_core_propertymapping RENAME TO authentik_core_propertymapping;
 | |
| ALTER TABLE passbook_core_provider RENAME TO authentik_core_provider;
 | |
| ALTER TABLE passbook_core_provider_property_mappings RENAME TO authentik_core_provider_property_mappings;
 | |
| ALTER TABLE passbook_core_source RENAME TO authentik_core_source;
 | |
| ALTER TABLE passbook_core_source_property_mappings RENAME TO authentik_core_source_property_mappings;
 | |
| ALTER TABLE passbook_core_token RENAME TO authentik_core_token;
 | |
| ALTER TABLE passbook_core_user RENAME TO authentik_core_user;
 | |
| ALTER TABLE passbook_core_user_groups RENAME TO authentik_core_user_groups;
 | |
| ALTER TABLE passbook_core_user_pb_groups RENAME TO authentik_core_user_pb_groups;
 | |
| ALTER TABLE passbook_core_user_user_permissions RENAME TO authentik_core_user_user_permissions;
 | |
| ALTER TABLE passbook_core_usersourceconnection RENAME TO authentik_core_usersourceconnection;
 | |
| ALTER TABLE passbook_crypto_certificatekeypair RENAME TO authentik_crypto_certificatekeypair;
 | |
| ALTER TABLE passbook_flows_flow RENAME TO authentik_flows_flow;
 | |
| ALTER TABLE passbook_flows_flowstagebinding RENAME TO authentik_flows_flowstagebinding;
 | |
| ALTER TABLE passbook_flows_stage RENAME TO authentik_flows_stage;
 | |
| ALTER TABLE passbook_outposts_outpost RENAME TO authentik_outposts_outpost;
 | |
| ALTER TABLE passbook_outposts_outpost_providers RENAME TO authentik_outposts_outpost_providers;
 | |
| ALTER TABLE passbook_outposts_dockerserviceconnection RENAME TO authentik_outposts_dockerserviceconnection;
 | |
| ALTER TABLE passbook_outposts_kubernetesserviceconnection RENAME TO authentik_outposts_kubernetesserviceconnection;
 | |
| ALTER TABLE passbook_outposts_outpostserviceconnection RENAME TO authentik_outposts_outpostserviceconnection;
 | |
| ALTER TABLE passbook_policies_dummy_dummypolicy RENAME TO authentik_policies_dummy_dummypolicy;
 | |
| ALTER TABLE passbook_policies_expiry_passwordexpirypolicy RENAME TO authentik_policies_expiry_passwordexpirypolicy;
 | |
| ALTER TABLE passbook_policies_expression_expressionpolicy RENAME TO authentik_policies_expression_expressionpolicy;
 | |
| ALTER TABLE passbook_policies_group_membership_groupmembershippolicy RENAME TO authentik_policies_group_membership_groupmembershippolicy;
 | |
| ALTER TABLE passbook_policies_hibp_haveibeenpwendpolicy RENAME TO authentik_policies_hibp_haveibeenpwendpolicy;
 | |
| ALTER TABLE passbook_policies_password_passwordpolicy RENAME TO authentik_policies_password_passwordpolicy;
 | |
| ALTER TABLE passbook_policies_policy RENAME TO authentik_policies_policy;
 | |
| ALTER TABLE passbook_policies_policybinding RENAME TO authentik_policies_policybinding;
 | |
| ALTER TABLE passbook_policies_policybindingmodel RENAME TO authentik_policies_policybindingmodel;
 | |
| ALTER TABLE passbook_policies_reputation_ipreputation RENAME TO authentik_policies_reputation_ipreputation;
 | |
| ALTER TABLE passbook_policies_reputation_reputationpolicy RENAME TO authentik_policies_reputation_reputationpolicy;
 | |
| ALTER TABLE passbook_policies_reputation_userreputation RENAME TO authentik_policies_reputation_userreputation;
 | |
| ALTER TABLE passbook_providers_oauth2_authorizationcode RENAME TO authentik_providers_oauth2_authorizationcode;
 | |
| ALTER TABLE passbook_providers_oauth2_oauth2provider RENAME TO authentik_providers_oauth2_oauth2provider;
 | |
| ALTER TABLE passbook_providers_oauth2_refreshtoken RENAME TO authentik_providers_oauth2_refreshtoken;
 | |
| ALTER TABLE passbook_providers_oauth2_scopemapping RENAME TO authentik_providers_oauth2_scopemapping;
 | |
| ALTER TABLE passbook_providers_proxy_proxyprovider RENAME TO authentik_providers_proxy_proxyprovider;
 | |
| ALTER TABLE passbook_providers_saml_samlpropertymapping RENAME TO authentik_providers_saml_samlpropertymapping;
 | |
| ALTER TABLE passbook_providers_saml_samlprovider RENAME TO authentik_providers_saml_samlprovider;
 | |
| ALTER TABLE passbook_sources_ldap_ldappropertymapping RENAME TO authentik_sources_ldap_ldappropertymapping;
 | |
| ALTER TABLE passbook_sources_ldap_ldapsource RENAME TO authentik_sources_ldap_ldapsource;
 | |
| ALTER TABLE passbook_sources_oauth_oauthsource RENAME TO authentik_sources_oauth_oauthsource;
 | |
| ALTER TABLE passbook_sources_oauth_useroauthsourceconnection RENAME TO authentik_sources_oauth_useroauthsourceconnection;
 | |
| ALTER TABLE passbook_sources_saml_samlsource RENAME TO authentik_sources_saml_samlsource;
 | |
| ALTER TABLE passbook_stages_captcha_captchastage RENAME TO authentik_stages_captcha_captchastage;
 | |
| ALTER TABLE passbook_stages_consent_consentstage RENAME TO authentik_stages_consent_consentstage;
 | |
| ALTER TABLE passbook_stages_consent_userconsent RENAME TO authentik_stages_consent_userconsent;
 | |
| ALTER TABLE passbook_stages_dummy_dummystage RENAME TO authentik_stages_dummy_dummystage;
 | |
| ALTER TABLE passbook_stages_email_emailstage RENAME TO authentik_stages_email_emailstage;
 | |
| ALTER TABLE passbook_stages_identification_identificationstage RENAME TO authentik_stages_identification_identificationstage;
 | |
| ALTER TABLE passbook_stages_invitation_invitation RENAME TO authentik_stages_invitation_invitation;
 | |
| ALTER TABLE passbook_stages_invitation_invitationstage RENAME TO authentik_stages_invitation_invitationstage;
 | |
| ALTER TABLE passbook_stages_otp_static_otpstaticstage RENAME TO authentik_stages_otp_static_otpstaticstage;
 | |
| ALTER TABLE passbook_stages_otp_time_otptimestage RENAME TO authentik_stages_otp_time_otptimestage;
 | |
| ALTER TABLE passbook_stages_otp_validate_otpvalidatestage RENAME TO authentik_stages_otp_validate_otpvalidatestage;
 | |
| ALTER TABLE passbook_stages_password_passwordstage RENAME TO authentik_stages_password_passwordstage;
 | |
| ALTER TABLE passbook_stages_prompt_prompt RENAME TO authentik_stages_prompt_prompt;
 | |
| ALTER TABLE passbook_stages_prompt_promptstage RENAME TO authentik_stages_prompt_promptstage;
 | |
| ALTER TABLE passbook_stages_prompt_promptstage_fields RENAME TO authentik_stages_prompt_promptstage_fields;
 | |
| ALTER TABLE passbook_stages_prompt_promptstage_validation_policies RENAME TO authentik_stages_prompt_promptstage_validation_policies;
 | |
| ALTER TABLE passbook_stages_user_delete_userdeletestage RENAME TO authentik_stages_user_delete_userdeletestage;
 | |
| ALTER TABLE passbook_stages_user_login_userloginstage RENAME TO authentik_stages_user_login_userloginstage;
 | |
| ALTER TABLE passbook_stages_user_logout_userlogoutstage RENAME TO authentik_stages_user_logout_userlogoutstage;
 | |
| ALTER TABLE passbook_stages_user_write_userwritestage RENAME TO authentik_stages_user_write_userwritestage;
 | |
| 
 | |
| ALTER SEQUENCE passbook_core_provider_id_seq RENAME TO authentik_core_provider_id_seq;
 | |
| ALTER SEQUENCE passbook_core_provider_property_mappings_id_seq RENAME TO authentik_core_provider_property_mappings_id_seq;
 | |
| ALTER SEQUENCE passbook_core_source_property_mappings_id_seq RENAME TO authentik_core_source_property_mappings_id_seq;
 | |
| ALTER SEQUENCE passbook_core_user_groups_id_seq RENAME TO authentik_core_user_groups_id_seq;
 | |
| ALTER SEQUENCE passbook_core_user_id_seq RENAME TO authentik_core_user_id_seq;
 | |
| ALTER SEQUENCE passbook_core_user_pb_groups_id_seq RENAME TO authentik_core_user_pb_groups_id_seq;
 | |
| ALTER SEQUENCE passbook_core_user_user_permissions_id_seq RENAME TO authentik_core_user_user_permissions_id_seq;
 | |
| ALTER SEQUENCE passbook_core_usersourceconnection_id_seq RENAME TO authentik_core_usersourceconnection_id_seq;
 | |
| ALTER SEQUENCE passbook_outposts_outpost_providers_id_seq RENAME TO authentik_outposts_outpost_providers_id_seq;
 | |
| ALTER SEQUENCE passbook_policies_reputation_ipreputation_id_seq RENAME TO authentik_policies_reputation_ipreputation_id_seq;
 | |
| ALTER SEQUENCE passbook_policies_reputation_userreputation_id_seq RENAME TO authentik_policies_reputation_userreputation_id_seq;
 | |
| ALTER SEQUENCE passbook_providers_oauth2_authorizationcode_id_seq RENAME TO authentik_providers_oauth2_authorizationcode_id_seq;
 | |
| ALTER SEQUENCE passbook_providers_oauth2_refreshtoken_id_seq RENAME TO authentik_providers_oauth2_refreshtoken_id_seq;
 | |
| ALTER SEQUENCE passbook_stages_consent_userconsent_id_seq RENAME TO authentik_stages_consent_userconsent_id_seq;
 | |
| ALTER SEQUENCE passbook_stages_prompt_promptstage_fields_id_seq RENAME TO authentik_stages_prompt_promptstage_fields_id_seq;
 | |
| ALTER SEQUENCE passbook_stages_prompt_promptstage_validation_policies_id_seq RENAME TO authentik_stages_prompt_promptstage_validation_policies_id_seq;
 | |
| 
 | |
| UPDATE django_migrations SET app = replace(app, 'passbook', 'authentik');
 | |
| UPDATE django_content_type SET app_label = replace(app_label, 'passbook', 'authentik');
 | |
| 
 | |
| END TRANSACTION;"""
 | |
| 
 | |
| 
 | |
| class Migration(BaseMigration):
 | |
|     def needs_migration(self) -> bool:
 | |
|         self.cur.execute(
 | |
|             "select * from information_schema.tables where table_name = 'passbook_core_user';"
 | |
|         )
 | |
|         return bool(self.cur.rowcount)
 | |
| 
 | |
|     def run(self):
 | |
|         self.cur.execute(SQL_STATEMENT)
 | |
|         self.con.commit()
 | |
|         # We also need to clean the cache to make sure no pickeled objects still exist
 | |
|         for db in [
 | |
|             CONFIG.y("redis.message_queue_db"),
 | |
|             CONFIG.y("redis.cache_db"),
 | |
|             CONFIG.y("redis.ws_db"),
 | |
|         ]:
 | |
|             redis = Redis(
 | |
|                 host=CONFIG.y("redis.host"),
 | |
|                 port=6379,
 | |
|                 db=db,
 | |
|                 password=CONFIG.y("redis.password"),
 | |
|             )
 | |
|             redis.flushall()
 | 
