Обработка устаревших, но не удаляемых столбцов - PullRequest
1 голос
/ 08 апреля 2020

У нас есть несколько столбцов в нашей базе данных, которые сейчас устарели. Столбцы в настоящее время ни для чего не используются, но мы не можем просто отбросить столбец, поскольку нам могут понадобиться данные, чтобы выяснить, почему наше приложение обрабатывало его так, как когда-то в прошлом.

Мы видим что с Oracle 12 c мы получили возможность сделать столбец "невидимым". Похоже, это соответствует нашему варианту использования: нам не нужно было бы отбрасывать столбец, но столбец не доставил бы неудобств в повседневной работе. Не занимая визуального пространства при просмотре таблицы и не включаясь при запросе целых строк из таблицы.

Поскольку у нас нет опыта работы с «невидимым», мы хотели бы знать, есть ли какие-то негативы, которые мы имеем не видеть или, если есть другие "лучшие практики", мы должны рассмотреть вместо этого.

1 Ответ

0 голосов
/ 08 апреля 2020

Установка устаревших столбцов на invisible - хороший способ объявить их устаревшими.

Главное, что вам нужно сделать, это удалить ограничения not null, прежде чем сделать их невидимыми. Или вы можете получить неожиданные ошибки:

create table t (
  c1 int, 
  c2 int
    invisible
    not null
);

desc t

Name   Null?   Type         
C1               NUMBER(38)   

insert into t values ( 1 );

ORA-01400: cannot insert NULL into ("CHRIS"."T"."C2")

В худшем случае вы обнаружите проблему и снова сделаете ее видимой. Хотя это изменит порядок столбцов для select *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...