MyXoops Forum

Aw:: Modul upgraden? [Entwicklung allgemein] - myXOOPS German Support

frankblack

"myXOOPs"-Profi
Gepostet am:07.11.2009 18:19
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#7

Aw:: Modul upgraden?

Zitat:
Blöcke werden automatisch neu generiert, nicht mehr in der xoops_version.php vorhandene werden gelöscht.


In meinen/einem Fall war es anders. Ich hatte zuerst alle Blöcke in einem block-Skript untergebracht, musste die Blöcke dann doch wieder auf mehrere PHP-Dateien verteilen.
... is gone with the wind ...

alfred

Administrator
Gepostet am:07.11.2009 14:09
alfred
alfred Offline (Show more)
Administrator
Posts: 7619
Since: 06.12.2004
#6

Aw:: Modul upgraden?

Zitat:

frankblack schrieb:
Ich habs mir einfacher gemacht. Ich habe mit phpMyAdmin die Änderungen gemacht und die SQL-Statements dazu kopiert.


jaja , ist aber nicht mein fall, da phpmyadmin auch teilweise Müll mit reinkippt

Zitat:

Andere Sache: es hat sich bei den Templates einiges getan und die haben nicht mehr viel Ähnlichkeit mit der 0.92-Version. Ein paar Templates sind rausgeflogen (die kann ich ja aus der Datenbank löschen. Die neuen Templates müssen doch händisch in die Datenbank gekippt werden? Meines Wissens, wird beim Aktualisieren nur das default-Templateset aktualisiert.


Richtig erkannt, die User müssten dann die Templates löschen und neu generieren lassen.
Könnte man auch automatisch machen, wäre mir aber zu unsicher.

Zitat:

Noch eine andere Sache: auch bei den Blöcken hat sich einiges getan. Wäre es hier nicht sinnvoll, alle Blöcke von Hand zu löschen? Dann Modul aktualisieren? Dadurch werden die Blöcke doch neu generiert...


Blöcke werden automatisch neu generiert, nicht mehr in der xoops_version.php vorhandene werden gelöscht.

Advertisement

Gepostet am:0
Advertisement (Show more)
Posts: 0
Since: 0


Hier könnten Sie Ihre Anzeige aufgeben!
Bitte kontaktieren Sie uns, um mehr darüber zu erfahren.

frankblack

"myXOOPs"-Profi
Gepostet am:07.11.2009 13:05
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#5

Aw:: Modul upgraden?

Ich habs mir einfacher gemacht. Ich habe mit phpMyAdmin die Änderungen gemacht und die SQL-Statements dazu kopiert.

Andere Sache: es hat sich bei den Templates einiges getan und die haben nicht mehr viel Ähnlichkeit mit der 0.92-Version. Ein paar Templates sind rausgeflogen (die kann ich ja aus der Datenbank löschen. Die neuen Templates müssen doch händisch in die Datenbank gekippt werden? Meines Wissens, wird beim Aktualisieren nur das default-Templateset aktualisiert.

Noch eine andere Sache: auch bei den Blöcken hat sich einiges getan. Wäre es hier nicht sinnvoll, alle Blöcke von Hand zu löschen? Dann Modul aktualisieren? Dadurch werden die Blöcke doch neu generiert...

Oder bin ich mal wieder komplett auf dem Holzweg?
... is gone with the wind ...

alfred

Administrator
Gepostet am:30.10.2009 21:40
alfred
alfred Offline (Show more)
Administrator
Posts: 7619
Since: 06.12.2004
#4

Aw:: Modul upgraden?

http://dev.mysql.com/doc/refman/5.0/en/alter-table.html

die ganzen Änderungen in eine Datei schreiben, dann eine update.php (oder was weiss ich wie die heissen soll ) erstellen .
Darin dann folgendes:

function xoops_module_debaser_update(&$module
{     
  if (
$module->getVar('version') == 100
  {
   
$xoopsDB->queryFromFile(XOOPS_ROOT_PATH "/modules/" $module->getVar('dirname''n') . "/sql/mysql.sql");
    
  }
  return 
true;
}


in deine xoops_version.php :

$modversion['onUpdate'] = "include/update.php";

Soll irgendwas gemacht werden, was vor der DB-Manipulation gemacht werden soll, schreibe in die update.php folgende Funktion hinzu:

function xoops_module_pre_update_debaser(&$module
{     
  if (
$module->getVar('version') == 100
  {
   
// Hier dein Code
    
  
}
  return 
true;
}

frankblack

"myXOOPs"-Profi
Gepostet am:30.10.2009 21:29
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#3

Aw:: Modul upgraden?

Weil ich mich da noch reinfummeln muss. Hier mal ein Beispiel von der neuen SQL:
CREATE TABLE debaser_files (
 
xfid int(11NOT NULL auto_increment,
 
filename text NOT NULL,
 
added int(10NOT NULL,
 
title varchar(255NOT NULL default '',
 
artist varchar(255NOT NULL default '',
  
album varchar(255NOT NULL default '',
 
year int(4NOT NULL,
 
track int(3NOT NULL,
  
genreid int(11NOT NULL,
 
length varchar(50NOT NULL default '',
 
bitrate varchar(50NOT NULL default '',
  
frequence varchar(50NOT NULL default '',
  
rating double(6,4NOT NULL default '0.0000',
 
votes int(11NOT NULL default '0',
 
approved int(1NOT NULL default '0',
 
fileext varchar(10NOT NULL default '',
  
hits int(11unsigned NOT NULL default '0',
 
views int(11unsigned NOT NULL default '0',
  
uid int(11NOT NULL,
 
language varchar(50NOT NULL default '',
 
linktype varchar(255NOT NULL default '',
  
linkcode text NOT NULL default '',
  
haslofi int(11NOT NULL,
  
PRIMARY KEY  (xfid)
TYPE=MyISAM;


und hier die alte SQL:
CREATE TABLE debaser_files (
 
xfid int(11NOT NULL auto_increment,
 
filename text NOT NULL,
 
added int(10NOT NULL default '',
  
title varchar(50NOT NULL default '',
  
artist varchar(50NOT NULL default '',
 
album varchar(50NOT NULL default '',
  
year int(4NOT NULL default '',
  
addinfo text NOT NULL default '',
 
track int(3NOT NULL default '',
 
genre varchar(50NOT NULL default '',
  
length varchar(50NOT NULL default '',
 
bitrate varchar(50NOT NULL default '',
  
link varchar(100NOT NULL default '',
  
frequence varchar(50NOT NULL default '',
  
rating double(6,4NOT NULL default '0.0000',
 
votes int(11NOT NULL default '0',
 
approved int(1NOT NULL default '0',
 
fileext varchar(4NOT NULL default '',
 
weight int(10NOT NULL default '0',
  
hits int(11unsigned NOT NULL default '0',
 
views int(11unsigned NOT NULL default '0',
  
PRIMARY KEY  (xfid)
TYPE=MyISAM;


Die Länge von Feldern ändert sich, es werden Felder gelöscht und hinzugefügt. Außerdem muss ich den Text der vorher in (alt) addinfo war in eine neue Tabelle schreiben. Das muss ich vor dem Löschen oder Ändern von Feldern machen.

Ist halt Neuland für mich.
... is gone with the wind ...

alfred

Administrator
Gepostet am:30.10.2009 21:18
alfred
alfred Offline (Show more)
Administrator
Posts: 7619
Since: 06.12.2004
#2

Aw:: Modul upgraden?

bei allen , aber wozu suchst du ein kompliziertes und warum?
Felder in Datenbanken kann man auch mittig per SQL-Anweisung einfügen (after, first), löschen ist ja egal
das ganze funktioniert eigentlich tadellos.

frankblack

"myXOOPs"-Profi
Gepostet am:30.10.2009 20:34
frankblack
frankblack Offline (Show more)
"myXOOPs"-Profi
Posts: 747
Since: 19.04.2006
#1

Modul upgraden?

Ich stehe kurz vor dem Release von debaser 3 half finished. Nur dummerweise habe ich versprochen in diese Version ein Upgrade-Skript einzubauen. Habe ich mich ehrlich gesagt nie drum gekümmert. Der Datenbankaufbau hat sich ziemlich verändert seit der letzten Version. Aus den Tabellen sind Felder "mittig" rausgeflogen bzw. eingefügt worden.

Bevor ich mir Tonnen an Modulen herunterlade um zu sehen, wie die Upgrades dort funktionieren: hat jemand eine Ahnung bei welchem Modul es ein ziemlich kompliziertes Upgrade gab?
... is gone with the wind ...
Diesen Thread durchsuchen:  1 Anonyme Benutzer

Aktuell aus dem Forum

Forum Thema Antworten Views Letzter Beitrag
Modulentwicklung New Xoops Xcreate Module 0 5315 26.11.2025 15:22
efkan Gehe zum letzten Beitrag
Modulentwicklung XOOPS Custom Field Module 1 1808 24.11.2025 11:21
Goffy Gehe zum letzten Beitrag