How to create a string attribute without specifying size. If i want to store an article when i try to enter size 4000 i am getting an error about attribute size while creating. This error goes when i reduce the size of other attribute.
Go for really high values
> 65535
> 16777215
As you can see here from certain values Appwrite will use specify MariaDB type, so in your case aims toward LONGTEXT
Is there any way to edit size after creating attribute without losing values ?.
Not currently You can track and upvote this issue
ok, any idea about the error i faced during adding attribute size ? .
what was the exact error?
Actually i use appwrite cli to create collection. But during that time i deleted that collections multiple times. so after a few attempts i started getting this error while creating attribute it was something like attribute max exceed. Now i am not able to recreate that error i can save any size.
could have been too many big attributes. since you're not facing this anymore, can this be closed?
what is mean by this error "Index length is longer than the maximum: 768" ?
This is when you're trying to cerate index other then fulltext
on a string attribute that is longer than 768 characters.
Meaning when your string attribute is too long the only index you can add for it is the fulltext
one
As adding indexes longer than that aren't support by MariaDB and probably won't help performance wise.
ok thanks
i am getting that for 128 size array of strings attribute
Arrays automatically become longtext: https://github.com/utopia-php/database/blob/f2626acd42665a9987c94af1c93bf20c28d55c9d/src/Database/Adapter/MariaDB.php#L221
but this is a big issue for me because I have been using Query.search()
on a lot of array attributes
and that too because Query.equal()
just doesnt work for arrays of ids
You should π and comment in https://github.com/appwrite/appwrite/issues/6129
Keep in mind though, searching on array attributes was always a hack
okay