Создание базы данных при инсталляции Drupal

Главные вкладки

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 23 декабря 2007 в 10:13

Санта DrupalВот такой вопрос есть к уважаемой публике.

Каждый раз при инсталляции Drupal приходится заранее создавать БД. Насколько я понимаю, сравнительно несложно добавить в инсталляционный скрипт проверку "Если нет базы данных с таким именем, то задаем вопрос о ее создании и создаем"? И - db_query("CREATE DATABASE `superdrupal60datebase`");

Или есть какие-то подводные камни (с безопасностью или в программной реализации)? Если не в сам Drupal, то в отдельный скриптик или встроить в dumper.php. Что-то надоело мне запускать целый phpMyAdmin для одной команды (по крайней мере для локальных инсталляций под Denwer).

Комментарии

Аватар пользователя andrews andrews 23 декабря 2007 в 22:05

В денвере вроде бы есть клиент для командной строки mysql, можно с его помощью и организовать скриптик. Или можно написать простейший php-скрипт, который запускается из браузера и создает указанную базу данных.

Аватар пользователя PVasili PVasili 23 декабря 2007 в 22:24

А чем может принципиально отличаться 2 php скрипта и 2 дампа таблиц?
Сорри за отход от темы, но дети у разных народов примерно одинаково зачинаются... Smile

Аватар пользователя andypost@drupal.org andypost@drupal.org 24 декабря 2007 в 3:11

Нужно не форму имени, а форму для пользователя с админсткими правами и непросто create database и еще и создание пользователя с нужными правами в новой базе, что зависит от версии mysql (например это не обязательно он). Тогда теряется универсальность установцика...

Аватар пользователя Nikit Nikit 24 декабря 2007 в 9:35

ну всё это можно было бы впихнуть в установщик, он же там всё равно проверяет какая версия, и соответственно чото делает, можно было бы и попробовать создать базу, если не прокатило то уже ругаться...

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 24 декабря 2007 в 15:04

О да, отлично! Cпасибо, andrews.
Теперь собирается комплект мини-скриптов в довесок к Drupal (dumper.php + lazy.php :).

Попробую встроить скрипт в инсталляционный профиль Drupal.

Аватар пользователя vikeng vikeng 4 января 2008 в 14:22

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

В других CMS, форумах и пр. такого не встречал.

Логика здесь похоже следующая:
1. При установке на хостинге уже имеется готовая БД с логином, паролем и всеми правами, и даже если есть возможность добавлять свои БД, делается это через web-интерфейс панели управления чтобы можно было контролировать их количество (которое, в свою очередь ограничено тарифным планом).
2. При установке на своей машине подразумевается, что уж если человек смог поднять AMP, то создать какую-то БД, для него не проблема.

Аватар пользователя Separator@drupal.org Separator@drupal.org 4 января 2008 в 14:53

Все элементарное просто.
Во первых, почти на всех хостингах нет прав на CREATE DATABASE И FLUSH PRIVILEGES, а без этого этот скрипт не будет работать. Базы и пользователей обычно можно создать только через клиентскую панель.

Аватар пользователя rova2 rova2 22 января 2009 в 19:31

А.... вон оно что...понятно понятно. Видел работу скрипта cms CMW в 2002 году на П3 750 он создавал в Постгресе базу мин 10 потом мог тестить всю систему по таблицам до суток ! Было красиво.