powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 2.5 Переименовать объекты базы данных и их зависимости
6 сообщений из 6, страница 1 из 1
FB 2.5 Переименовать объекты базы данных и их зависимости
    #39791949
jugl1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер!

Мне в наследство досталось база данных firebird с примерно 200 таблицами и 1000 psql процедурами. В данные момент в базе очень не интуитвные название таблиц, полей и PSQL процедур. Мы хотим сделать небольшой рефакторинг и подправить в первую очередь название таблиц и их полей. Изменить название таблиц и полей не так просто, потому как у множество из них существуют зависимости, так как они используются в процедурах, триггерах и view. Чтобы все подправить руками, уйдет огромное количество времени. поэтому может есть какое-то решение, которое при изменение название таблиц и полей, меняет и название во всех объектов, которые их используют, приготовив соответственны sql скрипт. Я нашёл InterBase/Firebird Development Studio и их решение как раз эту проблему решает. Вот линк http://www.sqlly.com/features.html
Но похоже, что этот продукт уже довно неподдержеваетса и я получаю access violation при генераций соответствующего скрипта. Поэтому может ктото может посоветовать другое решение или дать другой полезный совет. Альтернативно мы даже думали, что можно пытаться такой парсер написать самим.

Зарание спасибо!
...
Рейтинг: 0 / 0
FB 2.5 Переименовать объекты базы данных и их зависимости
    #39791954
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jugl1kМы хотим сделать небольшой рефакторинг и подправить в первую очередь название таблиц и их
полей. Изменить название таблиц и полей не так просто, потому как у множество из них
существуют зависимости, так как они используются в процедурах, триггерах и view.

Более того, они используются в запросах, посылаемых из приложений. Сюрприз?

Проще будет создать на них view с желаемыми именами, а сами таблицы не трогать.
Второе по правильности решение - создать новую базу с нуля с нужными названиями и наладить
в неё репликацию из первой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5 Переименовать объекты базы данных и их зависимости
    #39791956
jugl1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за совет!
Всe логика лежит на уровне базы, в аппликации переписать запросы самое простое будет. Еще аргумент менять название связено с тем, что хотим объеденить 2 большие базы в единую, и хочется перед этим сделать все классификаторы идентичными (клиенты, поставщики, работники итд.). VIEW использывать идея не плохая, но PSQL защиты именно на таблицы, поэтому все равно их всех предётся переписыват руками.

Программисты же делают рефакторинг своего кода. И современные IDE позволяют изменить тоже и название переменных/функций везде, почему бы что то похожое немогло бы быть в Firebird.

Не совсем понел вторую мысль с новой базой и репликацией .
...
Рейтинг: 0 / 0
FB 2.5 Переименовать объекты базы данных и их зависимости
    #39791960
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jugl1kНе совсем понел вторую мысль с новой базой и репликацией .

Да чего там понимать. Выгружаешь SQL-скрипт метаданных, в любом текстовом редакторе делаешь контекстную замену старых названий на новые, создаёшь новую базу этим скриптом и переливаешь данные из старой базы в новую в соответствии со списком замен.
...
Рейтинг: 0 / 0
FB 2.5 Переименовать объекты базы данных и их зависимости
    #39792272
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jugl1kVIEW использывать идея не плохая, но PSQL защиты именно на таблицы

Повторяю медленно: старые таблицы и процедуры пока не трогай. Для себя создай новые вьюхи
и новые процедуры с нужными именами, которые обращаются к старым.

Когда всё заработает - можешь потихонечку рефакторить старый код.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 2.5 Переименовать объекты базы данных и их зависимости
    #39792294
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jugl1kПрограммисты же делают рефакторинг своего кода. И современные IDE позволяют изменить тоже
и название переменных/функций везде, почему бы что то похожое немогло бы быть в Firebird.

Как и сказал Дед: загружаешь скрипт создания своей БД в "современную IDE", рефакторишь как
в голову взбредёт, создаёшь новую БД из нового скрипта, переливаешь данные из старой. Всё,
телемаркет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 2.5 Переименовать объекты базы данных и их зависимости
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]