mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-28 03:44:31 +02:00
parent
d302835d57
commit
7a52214624
8 changed files with 137 additions and 1 deletions
|
|
@ -291,6 +291,24 @@ def test_create_index(db_path):
|
|||
)
|
||||
|
||||
|
||||
def test_drop_index(db_path):
|
||||
db = Database(db_path)
|
||||
db["Gosh"].create_index(["c1"])
|
||||
assert [index.name for index in db["Gosh"].indexes] == ["idx_Gosh_c1"]
|
||||
result = CliRunner().invoke(cli.cli, ["drop-index", db_path, "Gosh", "idx_Gosh_c1"])
|
||||
assert result.exit_code == 0
|
||||
assert db["Gosh"].indexes == []
|
||||
|
||||
result = CliRunner().invoke(cli.cli, ["drop-index", db_path, "Gosh", "idx_Gosh_c1"])
|
||||
assert result.exit_code == 1
|
||||
assert "No index named idx_Gosh_c1" in result.output
|
||||
|
||||
result = CliRunner().invoke(
|
||||
cli.cli, ["drop-index", db_path, "Gosh", "idx_Gosh_c1", "--ignore"]
|
||||
)
|
||||
assert result.exit_code == 0
|
||||
|
||||
|
||||
def test_create_index_analyze(db_path):
|
||||
db = Database(db_path)
|
||||
assert "sqlite_stat1" not in db.table_names()
|
||||
|
|
|
|||
|
|
@ -809,6 +809,34 @@ def test_create_index_if_not_exists(fresh_db):
|
|||
dogs.create_index(["name"], if_not_exists=True)
|
||||
|
||||
|
||||
def test_drop_index(fresh_db):
|
||||
dogs = fresh_db["dogs"]
|
||||
dogs.insert({"name": "Cleo", "twitter": "cleopaws", "age": 3, "is_good_dog": True})
|
||||
dogs.create_index(["name"])
|
||||
assert [index.name for index in dogs.indexes] == ["idx_dogs_name"]
|
||||
dogs.drop_index("idx_dogs_name")
|
||||
assert dogs.indexes == []
|
||||
|
||||
|
||||
def test_drop_index_ignore(fresh_db):
|
||||
dogs = fresh_db["dogs"]
|
||||
dogs.insert({"name": "Cleo"})
|
||||
with pytest.raises(OperationalError, match="No index named idx_dogs_name"):
|
||||
dogs.drop_index("idx_dogs_name")
|
||||
dogs.drop_index("idx_dogs_name", ignore=True)
|
||||
|
||||
|
||||
def test_drop_index_wrong_table(fresh_db):
|
||||
dogs = fresh_db["dogs"]
|
||||
cats = fresh_db["cats"]
|
||||
dogs.insert({"name": "Cleo"})
|
||||
cats.insert({"name": "Misty"})
|
||||
dogs.create_index(["name"])
|
||||
with pytest.raises(OperationalError, match="No index named idx_dogs_name"):
|
||||
cats.drop_index("idx_dogs_name")
|
||||
assert [index.name for index in dogs.indexes] == ["idx_dogs_name"]
|
||||
|
||||
|
||||
def test_create_index_desc(fresh_db):
|
||||
dogs = fresh_db["dogs"]
|
||||
dogs.insert({"name": "Cleo", "twitter": "cleopaws", "age": 3, "is good dog": True})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue