(데이터)초사이언티스트의 기록

Superset에서 사용자 삭제 문제 해결하기 본문

데이터엔지니어링

Superset에서 사용자 삭제 문제 해결하기

(데이터)초사이언티스트 2024. 3. 5. 23:01

Apache Superset은 데이터 시각화와 데이터 탐색을 위한 인기 있는 오픈 소스 플랫폼입니다. 이 플랫폼은 사용자 친화적인 대시보드와 강력한 데이터 분석 기능으로 많은 기업과 데이터 분석가에게 사랑받고 있습니다. 하지만, 때때로 Superset을 사용하다 보면 예상치 못한 문제에 부딪히기도 합니다. 그 중 하나가 '사용자 등록 후 삭제 시도 시 "Associated data exists, please delete them first"라는 메시지가 나타나 삭제가 되지 않는 현상'입니다. 이 블로그 포스트에서는 이 문제를 해결하는 방법을 소개하겠습니다.

문제 상황

Superset에서 사용자를 삭제하려고 할 때, "Associated data exists, please delete them first"라는 메시지가 나타나고 사용자가 삭제되지 않는 경우가 있습니다. 이는 사용자와 관련된 데이터가 데이터베이스에 남아있어서 발생하는 문제입니다.

해결 방법

이 문제를 해결하기 위해서는 데이터베이스에서 직접 관련 데이터를 삭제해야 합니다. 아래 단계를 따라 실행해보세요.

  1. Favstar 테이블에서 사용자 관련 데이터 삭제
delete from favstar where user_id in (select id from ab_user where email = 'users-email');
  1. KeyValue 테이블에서 사용자가 변경하거나 생성한 데이터 삭제
delete from key_value where changed_by_fk in (select id from ab_user where email = 'users-email');
delete from key_value where created_by_fk in (select id from ab_user where email = 'users-email');
  1. Logs 테이블에서 사용자의 로그 데이터 삭제
delete from logs where user_id in (select id from ab_user where email = 'users-email');
  1. 마지막으로, 사용자 정보를 ab_user 테이블에서 삭제
delete from ab_user_role where user_id in (select id from ab_user where email = 'users-email');

여기서 XXX는 삭제하고자 하는 사용자의 ID입니다. 이 ID는 Superset의 사용자 관리 섹션에서 확인할 수 있습니다.

주의 사항

  • 이 방법을 사용하기 전에, 데이터를 백업하는 것이 좋습니다. 혹시 모를 상황에 대비해서 중요한 정보를 잃지 않도록 합니다.
  • 데이터베이스에 직접 접근하여 수정을 하는 경우, 신중하게 처리해야 합니다. 잘못된 데이터를 삭제하면 복구가 어려울 수 있습니다.

결론

Superset에서 사용자 등록 후 삭제 시 "Associated data exists, please delete them first" 메시지로 인해 삭제가 안 되는 문제는 위의 단계를 통해 해결할 수 있습니다. 이 포스트가 Superset 사용 중 발생할 수 있는 문제를 해결하는 데 도움이 되길 바랍니다.