2009-12-09 1 views
0

У меня есть сайт, написанный на PHP (Kohana) и MySQL. Я хочу создать установщик, который будет запускать все тесты среды и, что самое важное (и самое грязное) для меня, будет развертывать базу данных. Более того, я хотел бы выбрать префикс таблиц в базе данных и указать имя пользователя и пароль для администратора. Не могли бы вы дать мне некоторые подсказки, как это сделать? Или какая-то ссылка на какой-то учебник? Я пытался Google, но, когда я искал такие термины, как «PHP-сайт-установщик», я нашел только, как установить PHP.Установщик веб-страниц - развертывание базы данных

Наиболее важным для меня является процесс развертывания базы данных с пользовательским префиксом таблиц. Как сохранить структуру базы данных в файле. Должен ли я назвать таблицы, используя некоторые ключевые слова для префикса, например:

%%prefix%%_tableName 

или

__prefix__tableName 

И что тогда? Измените все ключевые слова, используя регулярные выражения? Правильно ли это или лучше?

+0

См Http: // StackOverflow .com/questions/4388513/how-i-can-create-installer-for-website-php-mysql для списка родовых установщиков приложений php. – cweiske

ответ

3

Простым способом было бы хранить SQL-запросы в PHP-файлах и иметь PHP, вводящий префикс в SQL и возвращающий строку.

Мол, если у вас есть PHP-файл, как это для каждого из ваших запросов CREATE TABLE:

<?php 
/** get_myTable.php **/ 
return <<<SQL 
CREATE TABLE `{$prefix}myTable` (...) 
SQL; 
?> 

Вы могли бы сделать это в основном коде:

<?php 
$prefix = 'dbprefix_'; 

$create_queries = array(); 
$create_queries[] = include('get_myTable.php'); 
$create_queries[] = include('get_otherTable.php'); 

foreach($create_queries as $_query) { 
    mysql_query($_query) or trigger_error(mysql_error(), E_USER_WARNING); 
} 
?> 
2

Wordpress имеет свои знаменитые «5-minute install». Это отличный ориентир для простоты, удобства использования и мощности, и он делает большинство, если не все, вещей, которые вы указали в своем вопросе.