SQLRU.net - RDF-канал
http://www.sqlru.net/index.php
Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1934/#msg_1934
Продумал следующий план, насколько это рабочий вариант, где могут быть подводные камни?
Есть поле
CUSTOMER_BALANCE
0. Создаем бекап
1. Создаем новое поле CUSTOMER_BALANCE_NEW.
2. Копируем содержание поля CUSTOMER_BALANCE > CUSTOMER_BALANCE_NEW.
3. Деактивируем процедуры которые используют поле.
4. Удаляем поле CUSTOMER_BALANCE
5. Переименовываем CUSTOMER_BALANCE_NEW > CUSTOMER_BALANCE
6. Правим тип поля в процедурах
7. Активируем процедуры.
8. Контрольний Backup/Restore.]]>sashaua012023-03-30T16:38:05-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1935/#msg_1935
BlackEric2023-03-30T17:08:22-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1936/#msg_1936
shavluk2023-03-30T19:21:58-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1937/#msg_1937
alter table alter column попробовать. Коли получится, то и хорошо, не пришлось гонять данные. Потом создать индексы и подкрутить PSQL, если потребуется.]]>shalamyansky2023-03-30T20:36:52-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1939/#msg_1939
На древних версиях такое бьіло возможно прямьім редактированием системньіх таблиц]]>shavluk2023-03-31T09:31:37-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1971/#msg_1971
ChatGPT отвечает
В целом, ваш план выглядит рабочим и безопасным, но есть несколько моментов, которые стоит учитывать:
При копировании содержимого из поля CUSTOMER_BALANCE в CUSTOMER_BALANCE_NEW, убедитесь, что типы данных обоих полей совпадают, чтобы избежать потери данных.
Перед удалением поля CUSTOMER_BALANCE убедитесь, что оно больше не используется в других таблицах или процедурах.
При правке типа поля в процедурах, убедитесь, что они работают корректно с новым типом данных.
Перед выполнением изменений в производственной базе данных, рекомендуется провести тестирование на копии базы данных, чтобы избежать потери данных или нарушения работы системы.
После внесения изменений и проверки их на копии базы данных, выполните контрольный бекап и restore, чтобы убедиться, что все изменения были успешно применены.
Наконец, убедитесь, что вы имеете достаточные права на изменение схемы базы данных, и что процедуры изменения соответствуют вашим корпоративным стандартам и процедурам безопасности.
]]>shavluk2023-04-03T10:52:59-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1973/#msg_1973
SD2023-04-03T11:26:53-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/1974/#msg_1974
SD
. Не забудь выполнить первый пункт: "убедитесь, что типы данных обоих полей совпадают".
зы: зачем shavluk запостил этот бред сюда, мне лично непонятно. ]]>МП2023-04-03T11:42:20-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/2117/#msg_2117
kdv2023-04-18T21:03:37-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/2119/#msg_2119
SD2023-04-18T21:45:25-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/2388/#msg_2388
5. не очень хорошо сработало у меня, поэтому создал новое поле со старым именем и опять скопировал данные.
5.1. Сместить поле в новую позицию.
]]>svd2023-05-25T17:05:37-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/2391/#msg_2391
svd
5. не очень хорошо сработало у меня
это как?
]]>МП2023-05-26T09:46:34-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/2396/#msg_2396
У клиента было какое-то повреждение в базе, которое лечилось бэкапом/рестором.]]>svd2023-05-26T14:24:48-00:00Re: Изменить тип поля
http://www.sqlru.net/index.php/mv/msg/275/2397/#msg_2397
МП2023-05-26T14:59:04-00:00