Ability to add descending order indexes (#262)

* DescIndex(column) for descending index columns, refs #260
* Ability to add desc indexes using CLI, closes #260
This commit is contained in:
Simon Willison 2021-05-28 22:01:38 -07:00 committed by GitHub
commit 51d01da30d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 69 additions and 4 deletions

View file

@ -1,6 +1,7 @@
from sqlite_utils.db import (
Index,
Database,
DescIndex,
ForeignKey,
AlterError,
NoObviousTable,
@ -739,6 +740,19 @@ def test_create_index_if_not_exists(fresh_db):
dogs.create_index(["name"], if_not_exists=True)
def test_create_index_desc(fresh_db):
dogs = fresh_db["dogs"]
dogs.insert({"name": "Cleo", "twitter": "cleopaws", "age": 3, "is good dog": True})
assert [] == dogs.indexes
dogs.create_index([DescIndex("age"), "name"])
sql = fresh_db.execute(
"select sql from sqlite_master where name='idx_dogs_age_name'"
).fetchone()[0]
assert sql == (
"CREATE INDEX [idx_dogs_age_name]\n" " ON [dogs] ([age] desc, [name])"
)
@pytest.mark.parametrize(
"data_structure",
(