1. Pobrać WIndu 3.1 ze strony oraz nadpisać pobraną zawartością następujące foldery
./app/
./data/languages/ (jeżeli edytowales języki strony głównej to nie nadpisuj plików front wewnątrz tego folderu)
./data/functions/
Oraz wszystkei pliki będace w katalogu głównym czyli index.php i .htaacess itd.
NIE NALEŻY NADPISYWAĆ KATALOGU ./data/files/ oraz ./data/database/ oraz ./data/themes ponieważ utracisz wszelkie dane ze strony
2. Pobieramy bazę danych na nasz dysk twardy, chodzi o katalog ./data/database/
3. Pobieramy SQLite Manager (dodatek do firefoxa) i uruchamiamy go a następnie wybieramy ikonkę otwierającego się folderu w celu otworzenia naszej bazy danych, wybieramy najpierw plik pobrany z katalogu database/database.sqlite i wykonujemy następujące zapytanie w zakładce zapytania SQL
UWAGA migracja dzieli się na 2 etapy, pierwszy jest od wersji niższej niż 1400 do 1400 a kolejny od wersji 1400 w górę do najnowszej.
Pierwszy etap zapytania wykonujemy odpowiednio w zależności od wersji jaką posiadamy, czyli jeżeli posiadamy wersjie o rewizji 1200 to kasujemy wszystkie elementy z numerem rewizji mniejszym niż 1200, czyli 838="" KASUJEMY.
Zostawiamy tylko to co ma wyższy numer rewizji niż nasza migracja i wykonujemy zapytanie, kasujemy oczywiście zarówno numer 838 ="" oraz cudzysłowy z początku i końca danej rewizji tak aby został kod analogiczny do kodu z drugiego bloku.
Dla pliku database.sqlite
- Kod: Zaznacz wszystko
838 = " UPDATE config SET description = 'config.long.description.revision', shortDescription = 'config.short.description.revision' WHERE name = 'revision';
UPDATE config SET description = 'config.long.description.install', shortDescription = 'config.short.description.install' WHERE name = 'install';
UPDATE config SET description = 'config.long.description.template', shortDescription = 'config.short.description.template' WHERE name = 'template';
UPDATE config SET description = 'config.long.description.language', shortDescription = 'config.short.description.language' WHERE name = 'language';
UPDATE config SET description = 'config.long.description.imgGalleryWidth', shortDescription = 'config.short.description.imgGalleryWidth' WHERE name = 'imgGalleryWidth';
UPDATE config SET description = 'config.long.description.imgGalleryHeight', shortDescription = 'config.short.description.imgGalleryHeight' WHERE name = 'imgGalleryHeight';
UPDATE config SET description = 'config.long.description.imgGalleryFit', shortDescription = 'config.short.description.imgGalleryFit' WHERE name = 'imgGalleryFit';
UPDATE config SET description = 'config.long.description.imgQuality', shortDescription = 'config.short.description.imgQuality' WHERE name = 'imgQuality';
UPDATE config SET description = 'config.long.description.systemDir', shortDescription = 'config.short.description.systemDir' WHERE name = 'systemDir';
UPDATE config SET description = 'config.long.description.newsCount', shortDescription = 'config.short.description.newsCount' WHERE name = 'newsCount';
UPDATE config SET description = 'config.long.description.newsLength', shortDescription = 'config.short.description.newsLength' WHERE name = 'newsLength';
UPDATE config SET description = 'config.long.description.newsSpan', shortDescription = 'config.short.description.newsSpan' WHERE name = 'newsSpan';
UPDATE config SET description = 'config.long.description.pageName', shortDescription = 'config.short.description.pageName' WHERE name = 'pageName';
UPDATE config SET description = 'config.long.description.newsBtnCssClass', shortDescription = 'config.short.description.newsBtnCssClass' WHERE name = 'newsBtnCssClass';
UPDATE config SET description = 'config.long.description.cache', shortDescription = 'config.short.description.cache' WHERE name = 'cache';
UPDATE config SET description = 'config.long.description.inPlaceEditor', shortDescription = 'config.short.description.inPlaceEditor' WHERE name = 'inPlaceEditor';
UPDATE config SET description = 'config.long.description.commentsStatus', shortDescription = 'config.short.description.commentsStatus' WHERE name = 'commentsStatus';
UPDATE config SET description = 'config.long.description.newsLengthTitle', shortDescription = 'config.short.description.newsLengthTitle' WHERE name = 'newsLengthTitle';
UPDATE config SET description = 'config.long.description.tagsCount', shortDescription = 'config.short.description.tagsCount' WHERE name = 'tagsCount';
UPDATE config SET description = 'config.long.description.sliderImageFit', shortDescription = 'config.short.description.sliderImageFit' WHERE name = 'sliderImageFit';
UPDATE config SET description = 'config.long.description.sliderImageFilter', shortDescription = 'config.short.description.sliderImageFilter' WHERE name = 'sliderImageFilter';
UPDATE config SET description = 'config.long.description.sliderContentLenght', shortDescription = 'config.short.description.sliderContentLenght' WHERE name = 'sliderContentLenght';
UPDATE config SET description = 'config.long.description.sliderCount', shortDescription = 'config.short.description.sliderCount' WHERE name = 'sliderCount';
UPDATE config SET description = 'config.long.description.imgSmallWidth', shortDescription = 'config.short.description.imgSmallWidth' WHERE name = 'imgSmallWidth';
UPDATE config SET description = 'config.long.description.imgSmallHeight', shortDescription = 'config.short.description.imgSmallHeight' WHERE name = 'imgSmallHeight';
UPDATE config SET description = 'config.long.description.imgMediumWidth', shortDescription = 'config.short.description.imgMediumWidth' WHERE name = 'imgMediumWidth';
UPDATE config SET description = 'config.long.description.imgMediumHeight', shortDescription = 'config.short.description.imgMediumHeight' WHERE name = 'imgMediumHeight';
UPDATE config SET description = 'config.long.description.imgBigWidth', shortDescription = 'config.short.description.imgBigWidth' WHERE name = 'imgBigWidth';
UPDATE config SET description = 'config.long.description.imgBigHeight', shortDescription = 'config.short.description.imgBigHeight' WHERE name = 'imgBigHeight';
UPDATE config SET description = 'config.long.description.imgFit', shortDescription = 'config.short.description.imgFit' WHERE name = 'imgFit';
UPDATE config SET description = 'config.long.description.imgFilter', shortDescription = 'config.short.description.imgFilter' WHERE name = 'imgFilter';
UPDATE config SET description = 'config.long.description.userActive', shortDescription = 'config.short.description.userActive' WHERE name = 'userActive';
UPDATE config SET description = 'config.long.description.mailingSendLimit', shortDescription = 'config.short.description.mailingSendLimit' WHERE name = 'mailingSendLimit';
UPDATE config SET description = 'config.long.description.userMailActivation', shortDescription = 'config.short.description.userMailActivation' WHERE name = 'userMailActivation';
UPDATE config SET description = 'config.long.description.commentsLoggedUser', shortDescription = 'config.short.description.commentsLoggedUser' WHERE name = 'commentsLoggedUser';
UPDATE config SET description = 'config.long.description.cacheLife', shortDescription = 'config.short.description.cacheLife' WHERE name = 'cacheLife';
UPDATE config SET description = 'config.long.description.cacheResources', shortDescription = 'config.short.description.cacheResources' WHERE name = 'cacheResources';
UPDATE config SET description = 'config.long.description.license', shortDescription = 'config.short.description.license' WHERE name = 'license';
UPDATE config SET description = 'config.long.description.downloadedRevision', shortDescription = 'config.short.description.downloadedRevision' WHERE name = 'downloadedRevision';
UPDATE config SET description = 'config.long.description.updateServerRevision', shortDescription = 'config.short.description.updateServerRevision' WHERE name = 'updateServerRevision';
UPDATE config SET description = 'config.long.description.imgGalleryFullWidth', shortDescription = 'config.short.description.imgGalleryFullWidth' WHERE name = 'imgGalleryFullWidth';
UPDATE config SET description = 'config.long.description.imgGalleryFullHeight', shortDescription = 'config.short.description.imgGalleryFullHeight' WHERE name = 'imgGalleryFullHeight';
UPDATE config SET description = 'config.long.description.backgroundAdmin5', shortDescription = 'config.short.description.backgroundAdmin5' WHERE name = 'backgroundAdmin5';
UPDATE config SET description = 'config.long.description.sessionToken', shortDescription = 'config.short.description.sessionToken' WHERE name = 'sessionToken';
UPDATE config SET description = 'config.long.description.winduLink', shortDescription = 'config.short.description.winduLink' WHERE name = 'winduLink';
UPDATE config SET description = 'config.long.description.contentListCount', shortDescription = 'config.short.description.contentListCount' WHERE name = 'contentListCount';
UPDATE config SET description = 'config.long.description.licenseKey', shortDescription = 'config.short.description.licenseKey' WHERE name = 'licenseKey';
UPDATE config SET description = 'config.long.description.editorCKEType', shortDescription = 'config.short.description.editorCKEType' WHERE name = 'editorCKEType';"
895 = " INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('0','1','language-admin','390','config.long.description.adminLanguage','config.short.description.adminLanguage','numeric');"
896 = " UPDATE config SET description = 'config.long.description.frontLanguage',shortDescription = 'config.short.description.frontLanguage', name = 'language-front' WHERE name = 'language';"
905 = " CREATE TABLE systemStatus (
'id' INTEGER PRIMARY KEY AUTOINCREMENT ,
'date' date DEFAULT NULL,
'images' INTEGER,
'files' INTEGER,
'sendedEmails' INTEGER,
'contacts' INTEGER,
'comments' INTEGER,
'versions' INTEGER,
'logErrors' INTEGER,
'log404' INTEGER,
'users' INTEGER,
'revision' INTEGER,
'size' INTEGER,
'googlePageSpeed' INTEGER,
'alexaCountryRank' INTEGER,
'alexaGlobalRank' INTEGER,
'pages' INTEGER,
'rates' INTEGER,
'googlePr' INTEGER);"
908 = " ALTER TABLE pages ADD COLUMN priority NUMERIC;
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('5','1','sitemap','1','config.long.description.sitemap','config.short.description.sitemap','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('5','1','analiticsCode','','config.long.description.analiticscode','config.short.description.analiticscode','string');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('5','1','googleverifyCode','','config.long.description.googleverifycontent','config.short.description.googleverifycontent','string');
CREATE TABLE bannersareas (
'id' INTEGER PRIMARY KEY AUTOINCREMENT ,
'name' varchar(45) DEFAULT NULL ,
'width' INTEGER,
'height' INTEGER,
'status' INTEGER,
'createTime' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
'updateTime' timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
'createIP' varchar(45) DEFAULT NULL,
'updateIp' varchar(45) DEFAULT NULL);
CREATE TABLE banners (
'id' INTEGER PRIMARY KEY ,
'name' varchar(45) DEFAULT (NULL) ,
'views' INTEGER,
'clicks' INTEGER,
'viewsLimit' INTEGER,
'clicksLimit' INTEGER,
'height' INTEGER,
'link' varchar(45) DEFAULT (NULL),
'createTime' timestamp NOT NULL DEFAULT (CURRENT_TIMESTAMP),
'updateTime' timestamp NOT NULL DEFAULT ('0000-00-00 00:00:00'),
'createIP' varchar(45) DEFAULT (NULL),
'updateIP' varchar(45) DEFAULT (NULL),
'startDate' timestamp,
'endDate' timestamp,
'areaId' INTEGER,
'fileEkey' varchar(45));"
970 = " UPDATE config SET value = 'normal' WHERE name = 'editorCKEType';"
990 = " ALTER TABLE pages ADD COLUMN logged NUMERIC;
UPDATE pages SET logged = 0 WHERE id > 0;"
1063 = "ALTER TABLE systemstatus ADD COLUMN alexaSpeed NUMERIC;
ALTER TABLE systemstatus ADD COLUMN alexaLink NUMERIC;
UPDATE systemstatus SET alexaLink = 0 WHERE id > 0;
UPDATE systemstatus SET alexaSpeed = 0 WHERE id > 0;"
1127 = "INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('1','1','contentListLength','200','config.long.description.contentListLength','config.short.description.contentListLength','numeric');"
1191 = "ALTER TABLE images ADD COLUMN url VARCHAR;"
1300 = "CREATE TABLE polls (
'id' INTEGER PRIMARY KEY AUTOINCREMENT ,
'name' varchar(255) DEFAULT NULL,
'description' text,
'status' INTEGER,
'startTime' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
'endTime' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP);
CREATE TABLE pollAnswers (
'id' INTEGER PRIMARY KEY AUTOINCREMENT ,
'questionId' INTEGER,
'createTime' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
'createIP' varchar(255) DEFAULT NULL);
CREATE TABLE pollQuestions (
'id' INTEGER PRIMARY KEY AUTOINCREMENT ,
'pollId' INTEGER,
'name' varchar(255) DEFAULT NULL,
'ekey' varchar(255) DEFAULT NULL,
'description' text);
CREATE TABLE redirect (
'id' INTEGER PRIMARY KEY AUTOINCREMENT ,
'type' INTEGER,
'source' varchar(255) DEFAULT NULL,
'target' INTEGER);"
1320 = "ALTER TABLE systemStatus ADD COLUMN pageViewsUniqueIP NUMERIC;
ALTER TABLE systemStatus ADD COLUMN pageViewsUniqueCookie NUMERIC;
ALTER TABLE systemStatus ADD COLUMN pageViewsUniqueCookiesIP NUMERIC;
ALTER TABLE systemStatus ADD COLUMN requests NUMERIC;
ALTER TABLE banners ADD COLUMN status NUMERIC;
ALTER TABLE banners ADD COLUMN cookieCheck NUMERIC;"
1330 = "INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','firewallRequestLimit','2000','config.long.description.firewallRequestLimit','config.short.description.firewallRequestLimit','numeric');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','firewallEmail','','config.long.description.firewallEmail','config.short.description.firewallEmail','string');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','SystemRun-monitoringAlexa','0','config.long.description.SystemRun-monitoringAlexa','config.short.description.SystemRun-monitoringAlexa','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','SystemRun-monitoringGoogle','0','config.long.description.SystemRun-monitoringGoogle','config.short.description.SystemRun-monitoringGoogle','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('5','1','timezone','0','config.long.description.timezone','config.short.description.timezone','string');"
1350 = "INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','SystemRun-firewall','0','config.long.description.SystemRun-firewall','config.short.description.SystemRun-firewall','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','SystemRun-log','1','config.long.description.SystemRun-log','config.short.description.SystemRun-log','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','SystemRun-requestLog','1','config.long.description.SystemRun-requestLog','config.short.description.SystemRun-requestLog','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('4','1','SystemRun-monitoring','1','config.long.description.SystemRun-monitoring','config.short.description.SystemRun-monitoring','bool');
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('5','1','SystemRun-statistic','1','config.long.description.SystemRun-statistic','config.short.description.SystemRun-statistic','bool');"
Dla pliku database.sqlite - to jest 2 etap, te migracje są już przygotowane i nie musimy kasowac numerów rewizji ani nic wybierać, to wystarczy wykonać na bazie danych
- Kod: Zaznacz wszystko
ALTER TABLE pages ADD COLUMN rssSource VARCHAR;
CREATE TABLE calendar(
'id' INTEGER PRIMARY KEY ,
'name' varchar(45) DEFAULT (NULL) ,
'status' NUMERIC);
CREATE TABLE calendarEvents(
'id' INTEGER PRIMARY KEY ,
'calendarId' INTEGER,
'name' varchar(45) DEFAULT (NULL) ,
'description' text DEFAULT (NULL) ,
'date' timestamp,
'status' NUMERIC);
CREATE TABLE `forums` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`status` INTEGER,
`position` INTEGER,
`postsCount` INTEGER,
`topicsCount` INTEGER,
`groupsCount` INTEGER,
`name` varchar(255) ,
`description` text ,
`createTime` timestamp,
`updateTime` timestamp,
`createIP` varchar(255),
`updateIp` varchar(255),
`ekey` varchar(255)
);
CREATE TABLE `forumGroups` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`forumId` INTEGER,
`status` INTEGER,
`position` INTEGER,
`postsCount` INTEGER,
`topicsCount` INTEGER,
`name` varchar(255) ,
`description` text ,
`createTime` timestamp,
`updateTime` timestamp,
`createIP` varchar(255),
`updateIp` varchar(255),
`ekey` varchar(255)
);
CREATE TABLE `forumTopics` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`groupId` INTEGER,
`status` INTEGER,
`postsCount` INTEGER,
`views` INTEGER,
`name` varchar(255) ,
`createTime` timestamp,
`updateTime` timestamp,
`createIP` varchar(255),
`updateIp` varchar(255),
`ekey` varchar(255)
);
CREATE TABLE `forumPosts` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`topicId` INTEGER,
`status` INTEGER,
`authorId` INTEGER,
`content` text,
`createTime` timestamp,
`updateTime` timestamp,
`createIP` varchar(255),
`updateIp` varchar(255),
`ekey` varchar(255)
);
{mainDB} CREATE TABLE `messages` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`senderId` INTEGER,
`recipientId` INTEGER,
`responseMessageId` INTEGER,
`status` INTEGER,
`content` text,
`createTime` timestamp,
`updateTime` timestamp,
`createIP` varchar(255),
`updateIp` varchar(255),
`ekey` varchar(255)
);
ALTER TABLE users ADD COLUMN ekey varchar(255);
ALTER TABLE notify ADD COLUMN url varchar(255);
INSERT INTO config (bucket,nodelete,name,value,description,shortDescription,type) VALUES ('5','1','leftOpenMenu','1','config.long.description.leftpanelopen','config.short.description.leftpanelopen','bool');
ALTER TABLE usertypes ADD COLUMN panels text;
ALTER TABLE config ADD COLUMN options text;
ALTER TABLE systemstatus ADD COLUMN forumTopics INTEGER;
ALTER TABLE systemstatus ADD COLUMN forumPosts INTEGER;
Dla pliku log.sqlite
- Kod: Zaznacz wszystko
{logDB} ALTER TABLE accesslog ADD COLUMN month VARCHAR;
{logDB} ALTER TABLE accesslog ADD COLUMN day VARCHAR;
{logDB} ALTER TABLE accesslog ADD COLUMN hour VARCHAR;
{logDB} ALTER TABLE accesslog ADD COLUMN minuts VARCHAR;
{logDB} CREATE TABLE `forumreadedlog` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`userId` INTEGER,
`topicId` INTEGER
);
{logDB} ALTER TABLE forumreadedlog ADD COLUMN groupId INTEGER;
{logDB} ALTER TABLE log ADD COLUMN userId INTEGER;
4. Po wykonanej migracji wygrywamy oba pliki z bazą danych na serwer, uprzednio polecam wykonać kopię zapasową plików na serwerze
5. Katujemy plik ./app/core/generator.class.php - ZOSTAWIAMY PLIK ./app/core/generate.class.php
6. Czyścimy zawartość wszystkich folderów z katalogu ./cache/ nie kasując samych folderów
7. Powinno działać