Rank 1: Thread
I created a new platform but when I cloned the source, I didn't see the lib/... folder, only env. Then I created a .env file and added those files, then pinged but got error 500. What should I do next?
Votes
0
Replies
14
Participants
Unknown
Messages
15
Rank 1: Thread
I created a new platform but when I cloned the source, I didn't see the lib/... folder, only env. Then I created a .env file and added those files, then pinged but got error 500. What should I do next?
Rank 1: Thread
here is the app
What's the SDK version?
Rank 1: Thread
it looks like 1.8.0
You're self-hosting?
Rank 1: Thread
no, but i can ask the host
Rank 1: Thread
@D5 yes, I self-hosting
Try asking the owner for the server logs
The react native SDK version or Appwrite version?
Rank 1: Thread
the Appwrite version, sdk-version: 17.0.2,
and from the project :
"appwrite": "^17.0.0", "expo": "~52.0.28", "react-native": "0.76.6",
Rank 1: Thread
I see the error on server log:
appwrite | [Error] Timestamp: 2025-09-24T15:05:47+00:00 appwrite | [Error] Method: GET appwrite | [Error] URL: /v1/ping appwrite | [Error] Type: Utopia\Database\Exception\Structure appwrite | [Error] Message: Invalid document structure: Unknown attribute: "pingCount" appwrite | [Error] File: /usr/src/code/vendor/utopia-php/database/src/Database/Database.php appwrite | [Error] Line: 4271
Rank 1: Thread
I checked on /usr/src/code/src/Appwrite/Utopia/Response/Model/Project.php docker and I see code have define pingCount, pingedAt
->addRule('pingCount', [
'type' => self::TYPE_INTEGER,
'description' => 'Number of times the ping was received for this project.',
'default' => 0,
'example' => 1,
])
->addRule('pingedAt', [
'type' => self::TYPE_DATETIME,
'description' => 'Last ping datetime in ISO 8601 format.',
'default' => '',
'example' => self::TYPE_DATETIME_EXAMPLE,
])
==> it means the response Model (Project.php) - Used for API responses ✅ Working (I think that)
Rank 1: Thread
I checked the database and tried update pingCount and I see that database work well
MariaDB [appwrite]> SELECT pingCount, pingedAt FROM _console_projects WHERE _uid = '682f5edd0032dee5xxx' LIMIT 1;
+-----------+----------+
| pingCount | pingedAt |
+-----------+----------+
| 0 | NULL |
+-----------+----------+
1 row in set (0.001 sec)
MariaDB [appwrite]> UPDATE _console_projects SET pingCount = pingCount + 1, pingedAt = NOW(3) WHERE _uid = '682f5edd0032dee5xxx';
Query OK, 1 row affected (0.015 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [appwrite]> SELECT pingCount, pingedAt FROM _console_projects WHERE _uid = '682f5edd0032dee5xxx' LIMIT 1;
+-----------+-------------------------+
| pingCount | pingedAt |
+-----------+-------------------------+
| 1 | 2025-09-24 16:38:05.318 |
+-----------+-------------------------+
1 row in set (0.001 sec)
Rank 1: Thread
So I think root cause: Collection Schema (Structure validator) - Used for database validation ❌ Broken
The Structure validator in Database.php line 4271 is checking against the collection schema
I have checked the cache and restarted Docker several times, but the issue has not been resolved. Do you have any suggestions?
cc @D5
Did you ever figure this out? I had the same issue and was able to find a temporary workaround, but it's not pretty.