Skip to main content

Tool for generating demo SQLite databases

Project description

sqlite-generate

PyPI Changelog License

Tool for generating demo SQLite databases

Installation

Install this plugin using pip:

$ pip install sqlite-generate

Usage

To generate a SQLite database file called data.db with 10 randomly named tables in it, run the following:

sqlite-generate data.db

You can see a demo of the database generated using this command running in Datasette at https://sqlite-generate-demo.datasette.io/

You can use the --tables option to generate a different number of tables:

sqlite-generate data.db --tables 20

You can run the command against the same database file multiple times to keep adding new tables, using different settings for each batch of generated tables.

By default each table will contain a random number of rows between 0 and 200. You can customize this with the --rows option:

sqlite-generate data.db --rows 20

This will insert 20 rows into each table.

sqlite-generate data.db --tables 500,2000

This inserts a random number of rows between 500 and 2000 into each table.

Each table will have 5 columns. You can change this using --columns:

sqlite-generate data.db --columns 10

You can control the random number seed used with the --seed option. This will result in the exact same database file being created by multiple runs of the tool:

sqlite-generate data.db --seed=myseed

By default each table will contain between 0 and 2 foreign key columns to other tables. You can control this using the --fks option, with either a single number or a range:

sqlite-generate data.db --columns=20 --fks=5,15

To configure SQLite full-text search for all columns of type text, use --fts:

sqlite-generate data.db --fts

This will use FTS5 by default. To use FTS4 instead, use --fts4.

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment:

cd sqlite-generate
python -mvenv venv
source venv/bin/activate

Or if you are using pipenv:

pipenv shell

Now install the dependencies and tests:

pip install -e '.[test]'

To run the tests:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlite-generate-1.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

sqlite_generate-1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file sqlite-generate-1.0.tar.gz.

File metadata

  • Download URL: sqlite-generate-1.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for sqlite-generate-1.0.tar.gz
Algorithm Hash digest
SHA256 083bf67ec0821cdab033f60a5fe767337442c1fb7b9e95dd3101f79430fa0a28
MD5 9e6046d352d0b25bfde1f25343e7f3a5
BLAKE2b-256 004ef46b86b05f4dfc90c28ac766d8f5a8cd25b46fb355871eb693328fc82f68

See more details on using hashes here.

File details

Details for the file sqlite_generate-1.0-py3-none-any.whl.

File metadata

  • Download URL: sqlite_generate-1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for sqlite_generate-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d456e5cb26a110c76546293bebdb11202af301f6aaaee2105725fd29f510bca
MD5 affb23d7df1465edd5435d1e38ef1257
BLAKE2b-256 cd60cadac16a494714c28cc3909268b88af79a8634e06a92bf7b36566454c1cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page