Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха информатор 3.1
Еще более удобное оповещение о флуде!

Краснодарское время: 24 Май, 2012, 06:21:09

Страниц: [1]
Печать
Автор Тема: pre-install configuration  (Прочитано 617 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Абырвалг    ↓ 
19 Апрель, 2010, 11:23:24
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

SQL
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 
DROP TABLE IF EXISTS `{prefix}users`;
CREATE TABLE `{prefix}users` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `login` varchar(50) DEFAULT NULL,
  `mail` varchar(100) NOT NULL,
  `passhash` char(32) NOT NULL,
  `salt` char(3) NOT NULL,
  `date` datetime NOT NULL,
  `need_permissions` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  `is_admin` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  `is_active` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `mail` (`mail`),
  UNIQUE KEY `name` (`login`)
) ENGINE=MyISAM  DEFAULT CHARSET={charset} AUTO_INCREMENT=1;
 
DROP TABLE IF EXISTS `{prefix}users_actions`;
CREATE TABLE `{prefix}users_actions` (
  `user_id` int(10) UNSIGNED NOT NULL,
  `hash` char(32) NOT NULL,
  `action_type` tinyint(1) NOT NULL,
  `data` text NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY  (`user_id`,`action_type`),
  KEY `hash` (`hash`)
) ENGINE=MyISAM DEFAULT CHARSET={charset};
 

хочу в начало этого скрипта вынести что-то типа
SET {charset} = cp1251;
SET {prefix} = 'tt_';
 
что бы можно было в одном месте подправить конфиг и импортировать через pma или что-то еще. Как бы так сделать?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Faster    ↓ 
20 Апрель, 2010, 03:30:08 , спустя 4 часа 6 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 10
Сообщений: 954
Сила слова: 1.05

PHP

$sql=$db->query("select * from lc_settings where id=1");
if(mysql_num_rows($sql)!=1){$sql_dump=file_get_contents('../sql.sql');foreach(explode(";",$sql_dump) as $v){mysql_query($v);}}
 
не ?
Записан

воспитываю дочь. С домами и деревьями  - не приставать.
vasa_c    ↓ 
20 Апрель, 2010, 10:34:45 , спустя 7 часов 4 минуты 37 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

PHP
<?php
$charset = 'cp1251'; // простигоспади...
$prefix = 'tt_';
?>
DROP TABLE IF EXISTS `<?=$prefix;?>users`;
:)
Записан

adw0rd    ↓ 
20 Апрель, 2010, 11:13:46 , спустя 39 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67

А ты пробовал в начале файла ставить, например:
SQL

SET CHARACTER SET cp1251
 

всякие и т.д.?
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Абырвалг    ↓ 
20 Апрель, 2010, 11:23:48 , спустя 10 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

vasa_c, Faster, народ, ну я ж писал:
импортировать через pma или что-то еще

Каким образом PMA или майэккюэль воркбенч или sypex dumper схомячат ваш префикс?
 
adw0rd, ок спасибо, допустим вопрос с кодировкой таким образом решим. А с префиксом таблиц что?
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
md5    ↓ 
20 Апрель, 2010, 11:27:13 , спустя 3 минуты 25 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10495
Сила слова: 1.19

Абырвалг, а нахуя импортирова через PMA?
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Абырвалг    ↓ 
20 Апрель, 2010, 11:34:09 , спустя 6 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

ну у системы нет инсталлятора. Та и вдруг что-то пойдет не так и нужно будет использовать pma/sypex dumper
 
не знаю че ответить, я всегда так делаю)
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
md5    ↓ 
20 Апрель, 2010, 11:37:07 , спустя 2 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10495
Сила слова: 1.19

Абырвалг, ну пусть скрипт и подготавливает SQL дамп
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Абырвалг    ↓ 
20 Апрель, 2010, 11:43:48 , спустя 6 минут 41 секунду
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

я думаю, что можно изъебнуться и сделать через execute http://dev.mysql.com/doc/refman/4.1/en/sql-syntax-prepared-statements.html, благо он в 3.23 уже появился.
 
Ну, самому экспериментировать лень, думал может кто-то уже сталкивался с таким
« Последнее редактирование: 20 Апрель, 2010, 11:43:48 от Абырвалг » Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
adw0rd    ↓ 
20 Апрель, 2010, 12:13:23 , спустя 29 минут 35 секунд
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: в ухо

Карма: не нужна
Сообщений: 17615
Сила слова: 1.67


adw0rd, ок спасибо, допустим вопрос с кодировкой таким образом решим. А с префиксом таблиц что?

SQL

SET @prefix = 'tt_';
 

Создать sql-переменную, не?
Записан

Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch, FreeBSD/Linux
Мой блог * Кинсбург * Либург * Я на GitHub
Абырвалг    ↓ 
20 Апрель, 2010, 12:23:43 , спустя 10 минут 20 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

как мне ее заюзать потом при создании таблиц?
 
В простом INSERT'е все ясно
PHP
$this->db->multiQuery("
    SET @sorder =(SELECT MAX(sorder) FROM :$t WHERE pid=?i)+1;
    SET @sorder = IF(@sorder > 0, @sorder, 1);
    INSERT INTO :$t SET ?@, sorder=@sorder"
, $parentId, $data);
 
а при создании наверно нужно будет делать execute  или что-то в этом роде
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kostyl    ↓ 
20 Апрель, 2010, 11:51:40 , спустя 11 часов 27 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3519
Сила слова: 1.71

а если exec('mysqldump') или как там... или это бред?
Записан

качество жизни обратно пропорционально количеству лени
Абырвалг    ↓ 
21 Апрель, 2010, 12:22:53 , спустя 31 минуту 13 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6094
Сила слова: 1.31

kostyl, я не могу из pma запустить exec
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
Страниц: [1]
Печать
 

Перейти в: