Извлечение метаданных
Извлечение метаданных
В командной строке вы можете использовать режим -extract для вывода операторов DDL, которые определяют метаданные в базе данных.
Все зарезервированные слова и объекты извлекаются в файл в виде символов в верхнем регистре, если только локальный язык не использует набор символов, который не имеет верхнего регистра. Выходной скрипт создается с подтверждением каждого набора команд, следовательно, на каждую таблицу можно ссылаться в последующих определениях. Выходной файл включает имя объекта и его владельца, если он определен.
Необязательный флаг -output перенаправляет вывод в указанный файл. Используйте следующий синтаксис:
isql [[-extract | -x][-a] [[-output | -о] выходной-файл]] база-данных
Режим -x может быть использован в качестве сокращения для -extract. Флаг -а указывает утилите isql на необходимость извлечения всех объектов базы данных. Обратите внимание, что спецификация выходного файла выходной-файл должна содержать полный путь к файлу и должна следовать после флага -output. Имя файла и путь извлекаемой базы данных могут находиться в конце команды.
Вы можете использовать результирующий текстовый файл для:
* проверки текущего состояния системных таблиц базы данных перед планированием изменений. Это особенно полезно, если база данных значительно изменялась после ее создания;
* создания базы данных со схемой, идентичной схеме извлекаемой базы данных;
* открытия в вашем текстовом редакторе для выполнения изменений определения базы данных или для создания нового исходного файла базы данных.
! ! !
ПРИМЕЧАНИЕ. Функция -extract не всегда бывает столь разумной, как должна бы быть по отношению к зависимостям. Иногда необходимо редактировать выходной файл для изменения порядка создания таблиц.
. ! .
Использование isql -extract
Следующий оператор извлекает схему SQL из базы данных employee.fdb в файл скрипта схемы с именем employee.sql:
isql -extract -output /data/scripts/employee.sql /data/employee.fdb Эта команда эквивалентна:
isql -x -output /data/scripts/employee.sql /data/employee.fdb He извлекаются следующие объекты и элементы:
* системные таблицы и просмотры, системные триггеры;
* коды внешних функций и фильтров BLOB (они не являются частью базы данных);
* атрибуты владельца объектов.