Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 256499
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T22:01:09+00:00 2026-05-11T22:01:09+00:00

I am developing a gallery which allows users to post photos, comments, vote and

  • 0

I am developing a gallery which allows users to post photos, comments, vote and do many other tasks.

Now I think that it is correct to allow users to unsubscribe and remove all their data if they want to. However it is difficult to allow such a thing because you run the risk to break your application (e.g. what should I do when a comment has many replies? what should I do with pages that have many revisions by different users?).

Photos can be easily removed, but for other data (i.e. comments, revisions…) I thought that there are three possibilities:

  • assign it to the admin
  • assign it to a user called “removed-user”
  • mantain the current associations (i.e. the user ID) and only rename user’s data (e.g. assign a new username such as “removed-user-24” and a non-existent e-mail such as “noreply-removed-user-24@mysite.com”

What are the best practices to follow when we allow users to remove their accounts? How do you implement them (particularly in Rails)?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T22:01:09+00:00Added an answer on May 11, 2026 at 10:01 pm

    Ideally in a system you would not want to “hard delete” data. The best way I know of and that we have implemented in past is “soft delete”. Maintain a status column in all your data tables which ideally refers to the fact whether the row is active or not. Any row when created is “Active” by default; however as entries are deleted; they are made inactive.

    All select queries which display data on screen filter results for only “active records”. This way you get following advantages:
    1. Data Recovery is possible.
    2. You can have a scheduled task on database level, which can take care of hard deletes of once in a way; if really needed. (Like a SQL procedure or something)
    3. You can have an admin screen to be able to decide which accounts, entries etc you’d really want to mark for deletion
    4. A temperory disabling of account can also be implemented with same solution.

    In prod environments where I have worked on, a hard delete is a strict No-No. Infact audits are maintained for deletes also. But if application is really small; it’d be upto user.

    I would still suggest a “virtual delete” or a “soft delete” with periodic cleanup on db level; which will be faster efficient and optimized way of cleaning up.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 123k
  • Answers 123k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Include a content editor web part in the page (newform.aspx… May 12, 2026 at 1:08 am
  • Editorial Team
    Editorial Team added an answer At the python level, most of them are documented in… May 12, 2026 at 1:08 am
  • Editorial Team
    Editorial Team added an answer Here's a string tokenizer for Oracle that's a little more… May 12, 2026 at 1:08 am

Related Questions

I am developing a photo gallery which will read/write EXIF tags. I will put
On an ASP.NET MVC (Beta) site that I am developing sometimes calls to ActionLink
I am developing a Reporting Services solution for a DOD website. Frequently I'll have
I am developing a web site and need to see how it will look

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.