Seafile CE 7.0.0 is ready for testing!

Table WebUploadTempFiles in the seafile database is missing in the upgrade script!

Frontend uploads will fail as long as this table doesn’t exist.

1 Like

After numerous errors (webdav not working, upload errors in webgui) i had to revert to 6.3.3.

What database do you use? MySQL or SQLite?

It’s MySQL

@arjones85 I got the same behaviour. Did you (or someone else) find a solution/workaround for this error in the meantime?

Seafile 6.3 is running fine, after upgrading to 7.0 via the major upgrade script seahub isn’t starting anymore.

I’m testing on Debian Buster.

I did. I posted another thread outlining what the problem and solution is.

I eventually ended up rolling back to 6.3.4 anyway out of other small stability and behavioral issues I was experiencing. Didn’t feel comfortable with 7.0 yet.

1 Like

After upgrading to CE 7.0.0 beta, and starting the server I can no longer upload files, I receive an internal server error in the UI and in the seafile.log I see:

[05/29/2019 12:39:36 AM] …/common/seaf-db.c(425): Error prepare statement SELECT tmp_file_path FROM WebUploadTempFiles WHERE repo_id = ? AND file_path = ?: sqlite3_prepare_v2 failed:
no such table: WebUploadTempFiles.
[05/29/2019 12:39:36 AM] upload-file.c(1127): Failed to get upload temp file path from db.

I am running seafile on Debian 9 + sqlite3 and upgraded from 6.3.4.

I checked the sqlite3 databases and can’t find that table.

Was something missed during the upgrade? My setup is fairly straightforward but I do have the seafile-data mounted on a different path and I do not remember seeing any errors during the upgrade (ran upgrade_6.3_7.0.sh).

edit: looks like another user mentioned that WebUploadTempFiles was missed during the upgrade. Is there a set of steps to remediate the issue?

edit2: I ran through these steps testing and this seems to have worked:

  1. Shutdown the server.
  2. backup seafile.db:
    cp seafile.db seafile.db.backup
  3. login to sqlite3 db:
    sqlite3 seafile.db
  4. run the following to create the missing table:
    CREATE TABLE IF NOT EXISTS WebUploadTempFiles (repo_id CHAR(40) NOT NULL, file_path TEXT NOT NULL, tmp_file_path TEXT NOT NULL);
  5. Check table creation:
    SELECT * FROM WebUploadTempFiles;
  6. This will return nothing (instead of a table does not exist error)
  7. exit (command in sqlite3 is .exit)
  8. Start server again.
2 Likes

When someone who as an account in my seafile instance wants to work withe someone who haven’t. Sharing a document using libreoffice-online or onlyoffice to anybody with just a link is realy easy, and it’s a missing feature that’s makes my users using other softwares (google…) for this case.

It is not a missing feature. Seafile Professional supports what your users desire. If you need it, you are invited to switch to Seafile PE.

And, btw, it is not a new feature. Seafile added this feature in version 6.3.5 (September 2018.)

I know, I know, but no CE edition was publish after this version of Seafile Pro. As I only wants using free software, it’s not a possibility for me to use Seafile Pro.

My questions was if this feature of the pro editon is in the new CE edition, but I wasn’t clear enough.

1 Like

Well, I for one am also absolutely for free software, but I’m willing to pay for good software. But the Seafile Pro pricing is just prohibitive. I mean, one user is 44€/year - but Office 365 Essentials is only 50.40€/year. And boy, you get so much more with even this most basic Office 365 subscription: all Office Online editors, 50GB email and 1TB OneDrive. So why on earth would any company or association pay so much for just file storage and sharing. Anyway, I’m interested to see how the upgrade path will work out, maybe a 7.0.1 will even out some of the bugs I’m reading about here.

1 Like

Sorry to say it so clearly, but you have - quite obviously - not understood Seafile Pro’s pricing.

Your other arguments are worth a discussion.

I work for a small company of about 50 employees. Is it untrue to say we would pay about 2200€ per year for Seafile? Because that was the reason I did not suggest Seafile there.

Your specific statement is correct. A license for 50 users in the for-profit sector costs 2.200€ p.a.
Incorrect is your generalization of this specific situation.

Seafile offers generous discounts for educational institutions as well as for small companies. A small company with 8 employees pays merely 100$ p.a. or only 10€ per user per year. I hear you (rightfully) barking at me generalizing this statement to: “Seafile costs per year as much as O365 costs per month.”

Point is: You made a strong, general statement (“Seafile PE’s pricing is just prohibitive”) based on your company’s particular circumstances.

I ran the seahub.sql and there are a syntax error :

mysql> source /opt/seafile/seafile-server-7.0.1/upgrade/sql/7.0.0/mysql/seahub.sql
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(6) NOT NULL,
updated_at datetime(6) NOT NULL,
username varchar(255) NOT’ at line 3
ERROR 1005 (HY000): Can’t create table ‘seahub-db.drafts_draftreviewer’ (errno: 150)
ERROR 1061 (42000): Duplicate key name ‘options_useroptions_option_key_7bf7ae4b’
ERROR 1146 (42S02): Table ‘seahub-db.TotalStorageStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.TotalStorageStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.TotalStorageStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.TotalStorageStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.FileOpsStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.FileOpsStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.UserActivityStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.UserActivityStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.UserActivityStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.UserActivityStat’ doesn’t exist
ERROR 1146 (42S02): Table ‘seahub-db.UserActivityStat’ doesn’t exist
ERROR 1051 (42S02): Unknown table ‘UserTrafficStat’
Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.40 sec)
Records: 0 Duplicates: 0 Warnings: 0

Query OK, 0 rows affected (0.53 sec)
Records: 0 Duplicates: 0 Warnings: 0

Query OK, 0 rows affected, 1 warning (0.00 sec)

ERROR 1060 (42S21): Duplicate column name ‘detail’
ERROR 1060 (42S21): Duplicate column name ‘resolved’
ERROR 1061 (42000): Duplicate key name ‘resolved’

DATETIME(6) is not a valid syntax for MySQL 5.5, I replaced by DATETIME