mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-07-22 17:04:31 +02:00
sqlite-utils dump command, closes #274
This commit is contained in:
parent
fe1562e8a6
commit
ca2b26130f
3 changed files with 35 additions and 0 deletions
13
docs/cli.rst
13
docs/cli.rst
|
|
@ -1256,6 +1256,19 @@ You can disable WAL mode using ``disable-wal``::
|
|||
|
||||
Both of these commands accept one or more database files as arguments.
|
||||
|
||||
.. _cli_dump:
|
||||
|
||||
Dumping the database to SQL
|
||||
===========================
|
||||
|
||||
The ``dump`` command outputs a SQL dump of the schema and full contents of the specified database file::
|
||||
|
||||
$ sqlite-utils dump mydb.db
|
||||
BEGIN TRANSACTION;
|
||||
CREATE TABLE ...
|
||||
...
|
||||
COMMIT;
|
||||
|
||||
.. _cli_load_extension:
|
||||
|
||||
Loading SQLite extensions
|
||||
|
|
|
|||
|
|
@ -308,6 +308,21 @@ def vacuum(path):
|
|||
sqlite_utils.Database(path).vacuum()
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.argument(
|
||||
"path",
|
||||
type=click.Path(exists=True, file_okay=True, dir_okay=False, allow_dash=False),
|
||||
required=True,
|
||||
)
|
||||
@load_extension_option
|
||||
def dump(path, load_extension):
|
||||
"""Output a SQL dump of the schema and full contents of the database"""
|
||||
db = sqlite_utils.Database(path)
|
||||
_load_extensions(db, load_extension)
|
||||
for line in db.conn.iterdump():
|
||||
click.echo(line)
|
||||
|
||||
|
||||
@cli.command(name="add-column")
|
||||
@click.argument(
|
||||
"path",
|
||||
|
|
|
|||
|
|
@ -502,6 +502,13 @@ def test_vacuum(db_path):
|
|||
assert 0 == result.exit_code
|
||||
|
||||
|
||||
def test_dump(db_path):
|
||||
result = CliRunner().invoke(cli.cli, ["dump", db_path])
|
||||
assert result.exit_code == 0
|
||||
assert result.output.startswith("BEGIN TRANSACTION;")
|
||||
assert result.output.strip().endswith("COMMIT;")
|
||||
|
||||
|
||||
@pytest.mark.parametrize("tables", ([], ["Gosh"], ["Gosh2"]))
|
||||
def test_optimize(db_path, tables):
|
||||
db = Database(db_path)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue