Frage von tosmile01, 134

Seafile Upgrade ist fehlgeschlagen was tun?

Hallo, ich habe die neue Version von Seafile gedownloadet und wie in der anleitung Extrahiert. Danach bin ich in den Upgrade ortner gegangen und habe da die neue Version ausgeführt. (musste nich mehrere weil ich die zweiz neuste Version habe) dannach kam diese meldung

Updating seafile/seahub database ...

[INFO] You are using SQLite3
[INFO] updating seafile database...
Traceback (most recent call last):
  File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 362, in <module>
    main()
  File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 357, in main
    db_updater.update_db()
  File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 258, in update_db
    super(SQLiteDBUpdater, self).update_db()
  File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 116, in update_db
    self.update_seafile_sql(seafile_sql)
  File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 279, in update_seafile_sql
    self.apply_sqls(self.seafile_db, sql_path)
  File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 272, in apply_sqls
    conn.execute(line)
sqlite3.OperationalError: duplicate column name: client_ver

Failed to upgrade your database

Kann mir da jemand weiter helfen?

LG tosmile

Antwort
von tgel79, 82

Google ist dein Freund :D und du bist nicht der erste mit diesem Problem

https://forum.seafile.de/t/error-upgrading-seafile-ce-from-5-0-4-to-5-1-beta/448...

Wenn du nicht mit dem Forumsbeitrag oben klar kommst, kannst du gerne nochmal im Kommentar unter dieser Antwort nachfragen.

Gruß

Kommentar von tosmile01 ,

Hallo, Ich bitte dich um klein wenig Hilfe ^^

Ich komme mit der Anleitung nicht ganz klar. Könntest du mir hlfen.. was ich ändern muss und wo das wäre :)

Kommentar von tgel79 ,

also, es geht um die Antwort von lins05

Läuft seafile bei dir unter linux?

du gehst auf die shell. Du rufst mysql mit dem root user für dein Datenbankschema auf, also einfach

mysql -p

Dann musst du dein mysql Passwort eingeben und dann kopierst du  einfach den ganzen kram

use seahub-db;
CREATE TABLE `sysadmin_extra_userloginlog` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`login_date` datetime NOT NULL,
`login_ip` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `sysadmin_extra_userloginlog_ee0cafa2` (`username`),
KEY `sysadmin_extra_userloginlog_c8db99ec` (`login_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

auf die Kommandozeile.

Danach läßt du das upgrade-Skript erneut laufen und dann sollte es durchlaufen.

Das wars. Alles klar ?

Kommentar von tosmile01 ,

Bei mir findet es diesen Command nicht

mysql -p
sudo: mysql: command not found

ich habe cd eingegeben und dann sudo mysql -p

oder in welchem ferzeichniss muss ich desem Command abrufen?

Kommentar von tgel79 ,

Welches System? Linux-Distribution?

Kommentar von tosmile01 ,

Und ich habe Raspbian Jessie

Kommentar von tgel79 ,

benutzt du orginal mysql oder mariadb.  Wenn

dpkg -L mysql-common

ohne Fehler ausgeführt wird und ein paar Datein aufgelistet werden, dann hast du mysql installiert.

Installier das mysql-client Paket im fall von mysql

aptitude install mysql-client

sonst das mariadb-client Paket.

Kommentar von tosmile01 ,

Weii danke.. :)

öhmm ja es ist ein neues problem aufgetreten ^^ Tut mir leid das ich dich hier mit Fragen überschütte.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Kommentar von tosmile01 ,

ok.. ich habe die Anleitung von Seafile nochmals durch gelesen (welche ich befolgt habe) und da wird gar kein mysql server verwendet nur der Interne von seafile

Kommentar von tgel79 ,

gut, dann musst du das ganze für das sqlite file von seafile machen.

Kommentar von tosmile01 ,

ysql ist nun vorhanden hab alles so gemacht wie du sagtest aber ist nichts passiert immer noch gleich

Kommentar von tgel79 ,

Klar doch. Seafile hat seine Datenbank ja immer noch in seinem internen SQLite file. Du musst die Tabelle mittels sqlite anlegen

Kommentar von tgel79 ,

Sorry, dass ich dich mit mysql auf die falsche Fähte geführt habe. Die Lösung für sqlite findest du hier

https://forum.seafile.de/t/solved-failed-updating-server-from-4-0-6-to-4-1-1/990...

Kommentar von tgel79 ,

Also in dem Forum steht, wo der SQLite Kram liegt und wie die das änderst. Die Änderung der Tabelle musst du aber aus dem Mysql-Post nehmen, weil der SQLite Post eine andere Tabelle betrifft.

Kommentar von tosmile01 ,

Hi Ich habe die SQlite mit

sqlite3 ex1

aufgerufen.

dannach habe ich aber einen ERROR bekommen

ERROR near " AUTO_INCREMENT": syntax error

hettest du vielleicht auch hierfür eine Lösung ':D

Kommentar von tgel79 ,

Bevor du was an der db änderst, mach aber besser eine Kopie davon. In SQLite schreibt man  AUTOINCREMENT statt AUTO_INCREMENT

Kommentar von tosmile01 ,

Keine sorge habe es gesichert ^^

Ich habe es jetzt wie von dir verlangt geändert...

use seahub-db;
CREATE TABLE `sysadmin_extra_userloginlog` (
`id` int(11) NOT NULL AUTOINCREMENT,
`username` varchar(255) NOT NULL,
`login_date` datetime NOT NULL,
`login_ip` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `sysadmin_extra_userloginlog_ee0cafa2` (`username`),
KEY `sysadmin_extra_userloginlog_c8db99ec` (`login_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Aber es geht immer noch nicht :D gleicher fehler.

Error: near "AUTOINCREMENT": syntax error
Kommentar von tgel79 ,
Kommentar von tosmile01 ,

Du tust mir echt leid ^^ Das du mir deine Hilfe anbietest. Meine SQL Kenntnisse sind = 0  

ehmm ja es hat wieder ein neues problem

ich verstehs nicht... was stimmt den da nicht?! dass alles nur wegen einem UPDATE?

Error: near "username": syntax error
Kommentar von tgel79 ,

Hast du ein komma hinter AUTOINCREMENT gemacht ?

Kommentar von tosmile01 ,
Error: AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
Kommentar von tgel79 ,

hmmm  versuch mal aus dem int(11) ein integer zu machen

Kommentar von tgel79 ,

nein

das sql schema findest du hier

https://github.com/haiwen/seahub/blob/master/sql/sqlite3.sql

habe ich auch gerade erst gefunden.

CREATE TABLE "sysadmin_extra_userloginlog" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "username" varchar(255) NOT NULL, "login_date" datetime NOT NULL, "login_ip" varchar(128) NOT NULL);
Kommentar von tosmile01 ,

Ok danke hat funktioniert...

Aber ich gebe es auf. dann bleib ich auf dieser Version -.-"

Habe den Server neugestartet aber ist alles beim alten.

Aber trotzdem DANKE 1000x (vorallem für deine Geduld)

LG tosmile

Kommentar von tosmile01 ,
[INFO] You are using SQLite3
[INFO] updating seafile database...
Traceback (most recent call last):
File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 362, in
main()
File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 357, in main
db_updater.update_db()
File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 258, in update_db
super(SQLiteDBUpdater, self).update_db()
File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 116, in update_db
self.update_seafile_sql(seafile_sql)
File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 279, in update_seafile_sql
self.apply_sqls(self.seafile_db, sql_path)
File "/home/seafile/seafile-server-5.1.2/upgrade/db_update_helper.py", line 272, in apply_sqls
conn.execute(line)
sqlite3.OperationalError: duplicate column name: client_ver

Failed to upgrade your database

Keine passende Antwort gefunden?

Fragen Sie die Community