Rename the option to create-triggers for FTS.

This commit is contained in:
Amjith Ramanujam 2019-09-02 08:54:49 -07:00
commit d0658fda27
4 changed files with 7 additions and 7 deletions

View file

@ -266,12 +266,12 @@ def create_index(path, table, column, name, unique, if_not_exists):
@click.option("--fts4", help="Use FTS4", default=False, is_flag=True) @click.option("--fts4", help="Use FTS4", default=False, is_flag=True)
@click.option("--fts5", help="Use FTS5", default=False, is_flag=True) @click.option("--fts5", help="Use FTS5", default=False, is_flag=True)
@click.option( @click.option(
"--create-update-triggers", "--create-triggers",
help="Create triggers to update the FTS tables when the parent table changes.", help="Create triggers to update the FTS tables when the parent table changes.",
default=False, default=False,
is_flag=True, is_flag=True,
) )
def enable_fts(path, table, column, fts4, fts5, create_update_triggers): def enable_fts(path, table, column, fts4, fts5, create_triggers):
"Enable FTS for specific table and columns" "Enable FTS for specific table and columns"
fts_version = "FTS5" fts_version = "FTS5"
if fts4 and fts5: if fts4 and fts5:
@ -282,7 +282,7 @@ def enable_fts(path, table, column, fts4, fts5, create_update_triggers):
db = sqlite_utils.Database(path) db = sqlite_utils.Database(path)
db[table].enable_fts( db[table].enable_fts(
column, fts_version=fts_version, create_update_triggers=create_update_triggers column, fts_version=fts_version, create_triggers=create_triggers
) )

View file

@ -710,7 +710,7 @@ class Table(Queryable):
) )
self.db.add_foreign_keys([(self.name, column, other_table, other_column)]) self.db.add_foreign_keys([(self.name, column, other_table, other_column)])
def enable_fts(self, columns, fts_version="FTS5", create_update_triggers=False): def enable_fts(self, columns, fts_version="FTS5", create_triggers=False):
"Enables FTS on the specified columns." "Enables FTS on the specified columns."
sql = """ sql = """
CREATE VIRTUAL TABLE "{table}_fts" USING {fts_version} ( CREATE VIRTUAL TABLE "{table}_fts" USING {fts_version} (
@ -725,7 +725,7 @@ class Table(Queryable):
self.db.conn.executescript(sql) self.db.conn.executescript(sql)
self.populate_fts(columns) self.populate_fts(columns)
if create_update_triggers: if create_triggers:
old_cols = ", ".join("old.[{}]".format(c) for c in columns) old_cols = ", ".join("old.[{}]".format(c) for c in columns)
new_cols = ", ".join("new.[{}]".format(c) for c in columns) new_cols = ", ".join("new.[{}]".format(c) for c in columns)
triggers = """ triggers = """

View file

@ -335,7 +335,7 @@ def test_enable_fts_with_triggers(db_path):
CliRunner() CliRunner()
.invoke( .invoke(
cli.cli, cli.cli,
["enable-fts", db_path, "Gosh", "c1", "--fts4", "--create-update-triggers"], ["enable-fts", db_path, "Gosh", "c1", "--fts4", "--create-triggers"],
) )
.exit_code .exit_code
) )

View file

@ -54,7 +54,7 @@ def test_enable_fts_w_triggers(fresh_db):
table = fresh_db["searchable"] table = fresh_db["searchable"]
table.insert(search_records[0]) table.insert(search_records[0])
table.enable_fts( table.enable_fts(
["text", "country"], fts_version="FTS4", create_update_triggers=True ["text", "country"], fts_version="FTS4", create_triggers=True
) )
assert [("tanuki are tricksters", "Japan", "foo")] == table.search("tanuki") assert [("tanuki are tricksters", "Japan", "foo")] == table.search("tanuki")
table.insert(search_records[1]) table.insert(search_records[1])