![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| errrrr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Есть скрипт и модули, использующие в своей работе БД. Нужно передать их заказчику (предполагается, что MySQL и прочие необходимые вещи у него уже установлены).
Перед выполнением Makefile.pl и тестов нужно, чтобы уже существовали БД и пользователь, от имени которого будем подключаться. Т.е. весь вопрос в том, каким образом устанавливать в своём скрипте пользовательские хост/порт/пользователя/пароль и кто должен создавать объекты БД. Требовать от пользователя сделать всё вручную перед установкой (включая правку моего скрипта, чтобы установить его параметры БД)? В общем, хотелось бы знать как это принято делать. |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Уважаемый errrrr, лично я создавал таблицы MySQL в скрипте "сам". Ставил DBI драйвер-> создание БД-> создание таблиц
|
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Хм, а может стоит
а) вынести конфиг базы (хост, порт, имя и т.п) в отдельный файл - дабы заказчик мог их выбрать сам ? (ну допустим конфиг приложения) б) в систему сборки (Makefile) добавить отдельный трагет "installdb", а "install" сделать от него зависимым. в) в таргете installdb - запускать скрипт, который создает схему БД (можно хоть чистый SQL, а можно интерактивный, который будет спрашивать параметры у пользователя, а заодно создавать конфиг для вашего модуля..) |
|||
|
||||
| errrrr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Думаю это то, что нужно, но не знаю как имеено делать. Дистрибутив делаю с помощью module-starter (h2xs) - он выдаёт Makefile.PL. Я так понимаю, что чтобы привязать свой скрипт к запуску make'ом нужно его вписать каким-то параметром в "Makefile.PL". И ещё: объясните, плиз, как именно обращаться с конфиг-файлом в *nix из перл, где должен лежать и в каком виде хранить пароль. Наверное это стандартные вещи, но не нашел ничего толкового. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
обращаться - как вам угодно. Т.е способов столько, что перечислять бессмысленно.
Поищите в инете - что то типа "parsing configs with perl" Где должен находится: зависит от вашего модуля. Если это отдельное приложение (программа), то в /etc или /usr/local/etc (в общем случае в $PERFIX/etc) Как дописать это к Makefile.PL - читайте документацию по ExtUtils::MakeMaker |
|||
|
||||
| errrrr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Таки да, нашел. Называется PL_FILES.
Насчет файла конфигурации в общем-то всё понятно, но не ясно как лучше. По аналогии с win параметры можно хранить общими для всех или только для конкретного пользователя и гарантированно можно узнать путь к соответствующей папке системными функциями или чтением реестра, чтобы не хардкодить. В убунте обнаружилась только переменная окружения "HOME", но это не то. Что можете посоветовать по поводу безопасности? - пароль к БД придется хранить в открытом виде. Нашел несколько обсуждений на эту тему - там все сводится к ограничениям средствами файловой системы. |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 14 Всего: 31 |
Ну вообщем по поводу безопасности - у вас скорее всего нет другого выбора.
Но я думаю проблема решается так: 1) сервер БД не открывает доступ кому попало (т.е. только нужным хостам) 2) на файл конфигурации накладываем права -rw------- 0600 - т.е. доступ только владельцу это решит большинство проблем. По поводу того, как правильно - не заморачивайтесь сильно. Сделай лучше "просто". Правильного решения в такой задачи просто нет, о чем говорит разнообразие файлов конфигурации в UNIX |
|||
|
||||
| errrrr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 9.4.2009 Репутация: нет Всего: нет |
Ok, спасибо.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |