sqlite-utils/sqlite_utils/cli.py
2019-01-24 19:57:04 -08:00

39 lines
933 B
Python

import click
import sqlite_utils
@click.group()
@click.version_option()
def cli():
"Commands for interacting with a SQLite database"
pass
@cli.command()
@click.argument(
"path",
type=click.Path(exists=True, file_okay=True, dir_okay=False, allow_dash=False),
required=True,
)
@click.option(
"--fts4", help="Just show FTS4 enabled tables", default=False, is_flag=True
)
@click.option(
"--fts5", help="Just show FTS5 enabled tables", default=False, is_flag=True
)
def table_names(path, fts4, fts5):
"""List the tables in the database"""
db = sqlite_utils.Database(path)
for name in db.table_names(fts4=fts4, fts5=fts5):
print(name)
@cli.command()
@click.argument(
"path",
type=click.Path(exists=True, file_okay=True, dir_okay=False, allow_dash=False),
required=True,
)
def vacuum(path):
"""Run VACUUM against the database"""
sqlite_utils.Database(path).vacuum()