#postgresql
#postgresql
Вопрос:
У меня есть таблица пользователей, и я должен удалить ограничения NOT NULL из полей firstname, username и lastname, правильно ли я понимаю, что напрямую ничего нельзя изменить, нужно ли мне добавить новый sql-файл и с помощью команды? Как я могу удалить NOT NULL и ничего не нарушать? все ломается
CREATE TABLE "user" (
id SERIAL UNIQUE PRIMARY KEY,
username VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
last_password_reset TIMESTAMP NOT NULL DEFAULT NOW(),
roles JSONB NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
date_created TIMESTAMP NOT NULL DEFAULT NOW(),
date_updated TIMESTAMP NOT NULL DEFAULT NOW()
);
Комментарии:
1. Почему вы не можете просто удалить
not null
из своего скрипта? Или вы хотите изменить таблицу, которая уже была создана? Затем используйтеalter table
2. Таблица уже создана, но как будет выглядеть ваш пример?
3. Я нашел пример, где все ограничения таблицы отключены, но мне нужно отключить только некоторые из них.
4. Смотрите примеры в руководстве (в частности, тот, который озаглавлен «Удаление ненулевого ограничения из столбца»)
Ответ №1:
ALTER TABLE user ALTER COLUMN username DROP NOT NULL;