tortoise / tortoise/tortoise-orm

Make using DB-specific indexes (FULLTEXT) raise warning rather then error under sqlite

Open
#1,050 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.6k
Forks
516
Avg merge
2d 21h
Merged PRs (30d)
9

Description

Is your feature request related to a problem? Please describe.
Sqlite is kind of convenient to use for testing, but i have features specific to my DB, e.g FULLTEXT-index. I don't really need to test them, but their presence makes sqlite unusable since tortoise throws a bunch of operational errors.

Describe the solution you'd like
Something like warnings would be fine. Or helpful error when using DB-specific features. Just something for this to work with limitations.

Describe alternatives you've considered
The only alternative for sqlite right now is patching, but it is quite hard without breaking something.
I can use specific DB (mysql in my case), but i think there should be solution when i use only common DB features.

Additional context
Maybe this feature should somehow be enabled for testing purposes only. At the end, you really should not use DB-specific features if you plan to allow usage of different databases.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named in the issue. Start by tracing how Tortoise handles database-specific indexes when using SQLite, then compare the MySQL behavior; done means FULLTEXT or similar indexes no longer make SQLite unusable and the limitation is surfaced as a warning or helpful error.

Written by the indexing model from the issue text.

Assessment

Tech stack
mysql, python, sqlite
Domain
database
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.