Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 double precision на numeric(18,5)  [new]
egor555
Member

Откуда:
Сообщений: 24
Добрый день!

Есть поле FIELD тип double precision надо поменять на numeric(18,5).
От поля зависят 2 вьюхи и 66 процедур(убивать и востанавливать зависимости неохота).

Пробовал так:
Создал поле VAR_FIELD - тип numeric(18,5)
Скопировал значения из FIELD
FIELD обратил в NULL
Попробовал изменить FIELD на numeric(18,5)

Ругается что не могу double precision into bigint

Можть у кого какие идеи есть??? Или это вообще невозможно???
7 авг 19, 10:39    [21943535]     Ответить | Цитировать Сообщить модератору
 Re: double precision на numeric(18,5)  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9830
egor555
От поля зависят 2 вьюхи и 66 процедур(убивать и востанавливать зависимости неохота).


в IBExpert для этого есть специальные инструменты, которые позволяют комментировать тела процедур. Для вьюх можно и руками.

egor555
Пробовал так:
Создал поле VAR_FIELD - тип numeric(18,5)
Скопировал значения из FIELD
FIELD обратил в NULL
Попробовал изменить FIELD на numeric(18,5)


надо было так:
1. Создать поле VAR_FIELD - тип numeric(18,5)
2. Скопировать значения из FIELD
3. прошерстить IBE зависимости и отрубить ХП и вьюхи с зависисмостями
4. Удалить поле FIELD
5. Переименовать VAR_FIELD в FIELD
6. Раскомментировать процедуры и восстановить вьюхи
7 авг 19, 10:49    [21943540]     Ответить | Цитировать Сообщить модератору
 Re: double precision на numeric(18,5)  [new]
egor555
Member

Откуда:
Сообщений: 24
Симонов Денис, спасибо за ответ.
Специальные инструменты нашел - деактивация
на вкладке зависимости не работает, кроме того мне скрипт для продакшена писать(БЛЛЛЛ.....)
7 авг 19, 11:20    [21943569]     Ответить | Цитировать Сообщить модератору
 Re: double precision на numeric(18,5)  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 16403
egor555,

"деактивация" - это тоже скрипт, который можно скопировать и накатывать "на продакшене".

Вообще интересно, как вы раньше-то жили, если нет уже подобранного и обкатанного инструментария для подготовки скриптов для "продакшена".
7 авг 19, 11:36    [21943581]     Ответить | Цитировать Сообщить модератору
 Re: double precision на numeric(18,5)  [new]
ёёёёё
Member

Откуда:
Сообщений: 738
egor555
Симонов Денис, спасибо за ответ.
Специальные инструменты нашел - деактивация
...


"Специальные инструменты" - это, например, "Дизайнер БД" и "DataBase Comparer".
1. Импортируешь схему базы в "Дизайнер БД".
2. Меняешь в схеме тип данных.
3. Експортируешь скрипт из дизайнера, генерируешь базу
4. Сравниваешь с помощью DataBase Comparer старую и новую базу, сгенерированный скрипт применяешь к старой базе.
7 авг 19, 12:05    [21943635]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить