powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание базы данных
25 сообщений из 156, страница 3 из 7
Создание базы данных
    #39416451
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДпоставляется инструмент миграции с версии на версию
миграция - это вообще другой вопрос, я его тут не касаюсь совершенно. Там как раз допустимо все что угодно, лишь бы облегчить миграцию с N на N+1 (базы или сервера) как для разработчика, так и для юзера. Скрипты, шмикты, хоть квантовый компьютер.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416452
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvчччДпоставляется инструмент миграции с версии на версию
миграция - это вообще другой вопрос, я его тут не касаюсь совершенно. Там как раз допустимо все что угодно, лишь бы облегчить миграцию с N на N+1 (базы или сервера) как для разработчика, так и для юзера. Скрипты, шмикты, хоть квантовый компьютер.
Я упомянул мигиацию только потому, что ради нее всякие dll от ibExpert таскаем, выполняющие скрипты. Которых (dll) почему-то боятся с собой таскать (см. выше).
...
Рейтинг: 0 / 0
Создание базы данных
    #39416454
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvэто не минус, а бессмысленное действо, если для приложения требуется конкретная версия ФБ.
Да ну? А если клиент (или пьяный интегратор) запустил старый инсталлятор, в котором болванка для 2.1, а стоит 2.5? Проблемы потом разгребать?
В моем случае хоть на родной ODS работать будет, потом просто версию моего ПО обновят и проблемы как не было.

kdvЕсли мы делаем для 2.5, и только для 2.5, можно создать из скрипта, только для этого придется вызвать isql. Проще скопировать болванку файла БД.
Скрипты создания БД обычно используются для
- проверки создания базы из скрипта (тут бывают и косяки метаданных и глюки isql)
- проверки скрипта при переводе базы с версии N на N+1
- сравнения скрипта с предыдущими версиями для генерации изменений
- создания "чистой" БД для копирования данных из одной БД в другую
Не знаю :)
Я скрипты использую именно для создания новых баз.
"Сравнением метаданных", получением "Скрипта расхождений" и т.п. я не занимаюсь, слава богу, наверно потому, что болванки не использую

И isql я не пользуюсь для этого, давно есть отлаженный свой класс, который, к тому же, еще кое-какие фишки поддерживает, но это другая история.
isql я вообще использую в основном только для коннекта к удаленным базам на плохом инете, чтобы ИБЕ не запускать, но это тоже другая история.

kdvопять двадцать пять... Для чего это, и пример приведите пожалуйста.
Основной случай - домен для поля-идентификатора терминала. Для сети все терминалы имеют уникальный номер. Все таблицы с данными (не считая одинаковых справочников), которые участвуют в репликации, имеют это поле, которое заполняется (почти всегда) автоматически из этого домена.
(у таких таблиц ПК минимум из двух полей - TERMINAL_ID+Таблица_ID)

kdvИ эти пункты 2 и 3 никакой завязки на скрипт не имеют.
В том числе записи из этих INSERT'ов, т.ч. имеют, в этих пунктах много чего нужного разворачивается скриптами.

kdvКак только выходит новая версия, люди сразу начинают использовать фишки новой версии
Да, все хотят так делать, это логично, я тоже хочу. Но наступил момент, когда обновить серевера сразу всем очень проблематично. Постепенно - да (благо, я давно пишу версию сервера БД в таблицу версий установленных программ на местах, теперь пригодится) - с запретом на создание базы (и вообще на запуск) на версии сервера меньше X.Y, опять же.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416456
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvболее сомнительный, чем скрипт (потому что скрипт надо закатать в приложение, и выполнить оттуда
Ох и сложно текстовый файл прочитать (как в моем случае, я тупо скрипты в папку SQL кладу рядом с .exe) или еще откуда-то достать, вариантов масса. Это уж, как раз, совсем не проблема.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416459
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭто очень печально слышать, что в новых версиях Firebird появляются только новые фишки, а
ни производительность, ни надёжность не улучшаются.

Ну почему же улучшаются. Но не всё можно улучшить автоматом, иногда надо переписывать алгоритмы с использованием новых фич чтобы улучшить производительность. Например, в некоторых местах при грамотном применении оконные функции могут существенно поднять производительность. Или другой пример, замена самописных велосипедов UDF на встроенные функции.

А вот тебе примерчик по надёжности, правда алгоритмов. До 2.5 FB не поддерживал параметризированных EXECUTE STATEMENT.

Собственно поддержка универсальности 2.1-3.0 это значит не использовать всего того? что нового и удобного появилось: новый EXECUTE STATEMENT, SIMILAR TO, PSQL функции, оконные функции, PSQL пакеты, нативный BOOLEAN и многое другое. Так можно дойти и до того чтобы оставить в БД только таблицы и работать через ORM.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416460
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

имхо, твой случай, когда клиент может работать с фб 2.1, 2.5 и 3.0 - мягко говоря, вырожденный.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416462
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockА если клиент (или пьяный интегратор) запустил старый инсталлятор, в котором болванка для 2.1, а стоит 2.5?
если приложение ориентировано на 2.5, оно должно сообщить о проблеме.
если база уже есть, болванку никакого смысла нет копировать.

YuRock(у таких таблиц ПК минимум из двух полей - TERMINAL_ID+Таблица_ID)
зачем это сделано доменом? не тяни коня, приведи такое описание create domain. Опять вырывать клещами все приходится. Гостайна, чтоль? Хочешь объяснить, так ОБЪЯСНИ!
YuRockВ том числе записи из этих INSERT'ов, т.ч. имеют, в этих пунктах много чего нужного разворачивается скриптами.
см. выше.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416463
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТак можно дойти и до того чтобы оставить в БД только таблицы
Ну это явно уже вывод неверный. Я ж не уменьшаю поддерживаемый функционал :)
Придет время - я обновлю и начну PSQL функции использовать, давно хочу, и пакеты.
EXECUTE STATEMENT и SIMILAR TO я никогда не использовал, мне в моих задачах не надо, а что касается "EXECUTE STATEMENT" - я вообще считаю, что нужно стараться обходиться без него, и у меня получается.

Почему разброс такой большой? Потому, что на 2.5 я вообще не переходил - не видел смысла. Мне толку не было было. И сейчас считаю, что правильно сделал.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416465
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
господа, еще пара сообщений с пространными объяснениями, без конкретики, и я попрошу модераторов удалить нахрен этот топик. Задолбало уже.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416466
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭто очень печально слышать, что в новых версиях Firebird появляются только новые фишки, а
ни производительность, ни надёжность не улучшаются.Лишь бы ляпнуть, как обычно
...
Рейтинг: 0 / 0
Создание базы данных
    #39416468
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvесли приложение ориентировано на 2.5, оно должно сообщить о проблеме.
Старый инсталлятор рассчитан на 2.1, а стоит 2.5. Где я неясно выразился? Конечно же и приложение из этого "старого инсталлятора" "ориентировано" на 2.1, и болванка в нем. А стоит 2.5. И проверять при этом версию сервера не надо?

kdvзачем это сделано доменом?
Мне удобно

kdvприведи такое описание create domain. Опять вырывать клещами все приходится. Гостайна, чтоль?
Код: sql
1.
2.
/* определить номер терминала по умолчанию для каждой базы он свой */
CREATE DOMAIN T_TERMINAL AS SMALLINT DEFAULT @@TERMINAL_ID@@ NOT NULL;


Что тут объяснять?
В процессе инсталла интегратор вводит в эдит номер терминала, который ему сказали в центр. офисе, и программа перед созданием базы из скрипта меняет @@TERMINAL_ID@@ на 1234, например.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416469
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock...
EXECUTE STATEMENT и SIMILAR TO я никогда не использовал, мне в моих задачах не надо, а что касается "EXECUTE STATEMENT" - я вообще считаю, что нужно стараться обходиться без него, и у меня получается.
...
Фигасе аскетизм...
...
Рейтинг: 0 / 0
Создание базы данных
    #39416470
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvгоспода, еще пара сообщений с пространными объяснениями, без конкретики, и я попрошу модераторов удалить нахрен этот топик. Задолбало уже.
Боюсь, что я конкретнее не смогу уже. Не пойму, что ты хочешь, возможно. Как конкретнее объяснить, что данные попадают в поле из DEFAULT-значения домена, если не указывать это поле при INSERT?
...
Рейтинг: 0 / 0
Создание базы данных
    #39416474
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСобственно, с приложением можно поставлять базу разными способами
Я именно это и пытался объяснить.
И еще момент - скрипт для создании базы в любом случае нужен - если не в инсталляторе, то как минимум в скрипте, который собирает инсталлятор, болванку-то надо создавать как-то.
Мне лично болванка не удобна по многим причинам, из них привычка и отсутствие материального смысла это менять - одни из них.
Но я вполне ясно понимаю, что какое-нибудь приложение с базой embedded (и не обязательно) может быть гораздо удобнее поставлять с болванкой.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416478
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock...скрипт для создании базы в любом случае нужен - если не в инсталляторе, то как минимум в скрипте, который собирает инсталлятор, болванку-то надо создавать как-то...
Трэш какой-то...
...
Рейтинг: 0 / 0
Создание базы данных
    #39416489
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockБоюсь, что я конкретнее не смогу уже. Не пойму, что ты хочешь, возможно.
я хотел пример create domain из этого скрипта, и insert с какими-то там хрен знает данными.
Код: sql
1.
CREATE DOMAIN T_TERMINAL AS SMALLINT DEFAULT @@TERMINAL_ID@@


да офигеть какой животрепещущий домен. Я понял, спасибо.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416491
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо всем участникам дискуссии.
Особенно YuRock. Я теперь понял, что
- действительно, при установке или первом запуске приложения создавать БД "из скрипта" нет никакого смысла
- что создание БД из скрипта бывает обусловлено какими-то историческими закидонами разработчика БД

Извините, если кому показалось слишком прямолинейным.

p.s. можно было и не прописывать этот default в доменах, т.к. ИД приложения или "терминала" обычно известен при запуске этого самого приложения. Хуже того, он может быть изменен с течением времени (а домен тогда тоже придется менять). Короче, фигня на постном масле.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416496
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо, все смеются. :-)
...
Рейтинг: 0 / 0
Создание базы данных
    #39416498
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЛишь бы ляпнуть, как обычно
Разве это я сказал, что в использовании новых версий Firebird с приложениями, не
использующими его новые фишки, нет смысла?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание базы данных
    #39416511
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvт.к. ИД приложения или "терминала" обычно известен при запуске этого самого приложения.

Угу. Интересно, откуда.

kdvХуже того, он может быть изменен с течением времени

Нет, конечно. Это же данные в пк. Это целостность бд.

kdvможно было и не прописывать этот default в доменах

Можно, конечно, и хранить его где-то отдельно, и бояться, чтобы в этом где-то его случайно не изменили. И писать обязательно оттуда в записи всех таблиц вручную.
А я его нигде не храню, специально. Кроме как в этом домене.
Один раз при запуске только получаю его селектом из системной таблицы.
Мне так нравится.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416513
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Рустам, это ты?

Я, я, Кемска Волост, я, я. (с)

P.S. Топик зачетный.
МП - зачет сразу два раза.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание базы данных
    #39416532
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladЛишь бы ляпнуть, как обычно
Разве это я сказал, что в использовании новых версий Firebird с приложениями, не
использующими его новые фишки, нет смысла?..А кто и где это сказал ? И какая связь с твоим постоянным нытьём ?
...
Рейтинг: 0 / 0
Создание базы данных
    #39416533
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockИнтересно, откуда.
а откуда он известен при установке приложения???
YuRockНет, конечно. Это же данные в пк. Это целостность бд
я имею в виду, почему нельзя default 50 поменять на default 60? Целостность от этого не пострадает.
YuRockА я его нигде не храню, специально. Кроме как в этом домене.
да конечно, закатал в default, и успокоился.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416534
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЯ, я, Кемска Волост, я, я. (с)
я знал, что ты оценишь :-)
Гаджимурадов РустамP.S. Топик зачетный
спасибо, я старался. Хотя это стоило неимоверных психических усилий.
...
Рейтинг: 0 / 0
Создание базы данных
    #39416537
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvа откуда он известен при установке приложения???
Из телефонной трубки обычно. Админ центральной базы знает только, какой ид свободен и должен быть.


kdv почему нельзя default 50 поменять на default 60? Целостность от этого не пострадает. Новые записи станут мусором. Вообще вся база.


kdvзакатал в default, и успокоился.Ну да. Его не меняют.
...
Рейтинг: 0 / 0
25 сообщений из 156, страница 3 из 7
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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