Конференция "Базы" » Как можно считать метаданные с базы и создать новую копию [FB 2.1]
 
  • jiny007 (19.03.12 19:30) [0]
    Добрый день, уважаемые эксперты,
    передо мной стоит такая задача :
    считать метаданные с текущей(офисной) базы и
    создать новую базу для филиала, с кое-какими данными (как это можно сделать в IB Expert, Extract Metadata), затем установить генераторы , которые будет использовать новый филиал. С установкой генераторов проблем нет, все это уже делается в программе, но со всем остальным, пока не представляю как, гугл и яндекс уже облазил, в принципе, можно использовать gbak с опцией -m и другими сопутствующими ключами, но мне интересно, как это реализовано в IB Expert ? как это можно сделать ?
    Delphi 2009 / Firebird 2.1 / FIB Plus 6.9.9
  • Ega23 © (19.03.12 19:34) [1]
    1. Сделай бэкап текущей БД.
    2. Создай новую БД, восстанови её из бэкапа.
    3. Убей все данные.
    4. Установи значения генераторов.
    5. Заполни БД "кое-какими данными".
    6. Сделай бэкап полученного.
    7. В филиале создай новую базу.
    8. Восстанови её из бэкапа.

    Пункты 4 и 5 можешь поменять местами, зависит от твоей логики.

    З.Ы. За отсутствие скрипта создания БД с нуля, ИМХО, надо убивать.
  • jiny007 (19.03.12 20:07) [2]
    в принципе я все это делаю ручками в эксперте (не считая установку генераторов), т.к. филиалов всего 10 было, но начали обращаться и другие организации, поэтому решил, что хватит руками, а насчет скрипта, это ты прав, такой скрипт уже есть, но структура базы корректируется/изменяется (с учетом уже тех типов данных, которые уже есть) и поэтому скрипт пустой базы не всегда актуален, а создание на ходу это выход, единственное , что надо бы сделать , так это проверять перед бэкапом, нет ли других подключений к базе, иначе могут быть проблемы с целостностью базы-оригинала.
    Вобщем, если я правильно понял, все-таки gbak...
  • Кщд (20.03.12 08:11) [3]
    >jiny007   (19.03.12 19:30)
    >как это можно сделать в IB Expert, Extract Metadata
    префикс таблиц словаря данных: rdb$
  • jiny007 (20.03.12 09:12) [4]

    > Кщд   (20.03.12 08:11) [3]
    > >jiny007   (19.03.12 19:30)
    > >как это можно сделать в IB Expert, Extract Metadata
    > префикс таблиц словаря данных: rdb$

    спасибо , но видимо я неправильно сформулировал вопрос, вопрос должен звучать скорее так :
    "в IB Expert есть пункт в меню "Tools/Инструменты" есть пункт "Extract Metadata", там можно выгрузить как метаданные, так и табличные данные, как это можно сделать средствами дельфи ?"
    а пока воспользуюсь компонентами TFibBackupService, TFibRestoreService
  • jiny007 (20.03.12 09:14) [5]
    > префикс таблиц словаря данных: rdb$
    хотя все больше склоняюсь к тому чтобы пройтись по системным таблицам базы
  • Ega23 © (20.03.12 09:49) [6]

    > там можно выгрузить как метаданные, так и табличные данные,
    >  как это можно сделать средствами дельфи ?"


    А ты думаешь IBE такой особенный и в RDB$XXX не лезет?
    Именно оттуда он всё это дело и берёт. Примеры скриптов - на ibase.ru
  • jiny007 (20.03.12 10:21) [7]
    спс, уже смотрю...
  • Ega23 © (20.03.12 11:14) [8]
    Выгрузи метаданные в скрипт. Вот он у тебя и есть, со всеми таблицами, генераторами, блекджеком и поэтессами. Потом этот скрипт накатывай.
 
Конференция "Базы" » Как можно считать метаданные с базы и создать новую копию [FB 2.1]
Есть новые Нет новых   [134431   +10][b:0][p:0]