Я создаю веб-приложение по типу форума, где пользователи могут оставлять комментарии в зависимости от c topi c. Есть шаги регистрации и входа в систему. Прямо сейчас, когда учетная запись пользователя удаляется, все, что связано с пользователем, также удаляется, например, комментарии.
Есть ли способ сохранить комментарии, созданные пользователем, но удалить учетную запись пользователя? И заменить логин на «удалено»? Могу ли я просто удалить ON DELETE CASCADE
из шага миграции при создании таблицы comments
?
CREATE TABLE users (
id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
username TEXT NOT NULL UNIQUE,
nickname TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
date_created TIMESTAMPTZ DEFAULT now() NOT NULL
);
CREATE TABLE comments (
id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
comment TEXT NOT NULL,
date_created TIMESTAMPTZ DEFAULT now() NOT NULL,
date_modified TIMESTAMPTZ DEFAULT now() NOT NULL,
vinmake_id INTEGER
REFERENCES vinmake(id) ON DELETE CASCADE,
dtc_id INTEGER
REFERENCES dtc(id) ON DELETE CASCADE NOT NULL,
user_id INTEGER
REFERENCES users(id) ON DELETE CASCADE NOT NULL
)
Спасибо.