сравнение mysql баз разных версий johncms

158
.
Доброго времени суток, помогите разобраться с полями баз данных privat и cms_mail... Суть вопроса в соответствии полей баз привата от 4 версии относительно полей 6 версии двига

Вот табл 'privat' от 4:
`id`
`user`
`text`
`time`
`author`
`type`
`chit`
`temka`
`otvet`
`me`
`cont`
`ignor`
`attach`

Вот табл от 6 'cms_mail':
`id`
`user_id`
`from_id`
`text`
`time`
`read`
`sys`
`delete`
`file_name`
`count`
`size`
`them`
`spam`
.
pop
`privat` => `cms_mail`


`id` => `id`
`user` => `from_id`
`text` =>. `text`
`time` =>. `time`
`author` =>. `user_id`
`type`
`chit`
`temka` =>. `them`
`otvet`
`me`
`cont`
`ignor`
`attach`

Остальное не могу сложить...
.
Кадило крутится, лавэха мутится
Приват был заменен на другой, они не совместимы
.
╭∩╮ (`-`) ╭∩╮
# Simba (14.09.2015 / 11:43)
Приват был заменен на другой, они не совместимы
+100
---
Раз уж проведена такая серьезная работа по анализу различий в базе данных, проще было просмотреть CHANGELOG.md
Суть в том, что начиная с версии 5.0.0, приват заменен на новый модуль. Следовательно, никакой связи со старым тут не может быть.
.
pop
Вы меня неправильно поняли! Я взял мод от 4 версии движка, и там запросы идут соответственно в приват таблицу, я же хочу на 6 поставить но сообщение не приходит ибо запросы не в ту таблу идут, не с такими именами полей как в 6

... Я же просто спросил как подставить новые названия полей вместо старых... Наверное я не могу правильно спросить, объяснить...

Короче вот запрос:

mysql_query("INSERT INTO `privat` SET
`user` = '".$res['1user_name']."',
`text` = 'текст текст',
`time` = '".time()."',
`author` = '$login',
`type` = 'in',
`chit` = 'no',
`temka` = 'тема сообщения'");

Так вот этот запрос нужно исправить чтоб работало на 6, вроде так будет понятней...
.
# pop (15.09.2015 / 00:11)
Вы меня неправильно поняли! Я взял мод от 4 версии движка, и там запросы идут соответственно в приват таблицу, я же хочу на 6 поставить но сообщение не приходит ибо запросы не в ту таблу идут, не с та
Надо переименовать старые столбцы в запросе на новые (например, вместо `user` написать `user_id`, и т.д.), а несуществующие поля (например, `author` и т.п.) создать отдельным sql-запросом.
.
Но кроме этого, надо будет в скрипте подкорректировать и имена соответствующих переменных.
.
ДоХтор, Ну с этим я согласен...
.
ValekS
Ей 25
Вот когда то магазин сайта писал. И там сразу всё было для старой почты, а потом для новой пришлось переделывать:
mysql_query("INSERT INTO `privat` VALUES(0,'" . $polz['name_lat'] . "','Пользователь ".$login." перевёл вам ".$sum." монет сайта!','" . time() . "','".$login."','in','no','Превод монет','0','','','','') ");

Это старая. А вот новая:
mysql_query("INSERT INTO `cms_mail` SET `user_id` = '0',`from_id` = '" . $logid . "',`text` = 'Пользователь ".$login." перевёл вам ".$sum." монет сайта!',`time` = '" . time() . "',`sys` = '1',`them` = 'Перевод монет'");


В принципе тебе все поля сопоставлять не надо. Надо только те, что есть в запросе. Ещё там в первом запросе всё идёт через VALUES, имен полей таблицы нет. Открой таблицу старого привата и смотри по порядку все поля.
Всего: 9