Skip to main content

PostgreSQL and MySQL. Database migration and seeds tool for postgres and mysql by using psycopg2 and mysql-connector with python3.

Project description

WALK

Walk is a simple python migrations and seeds tool for postgres and mysql databases. The application is based on 'psycopg2' and mysql-connector-python to run sql commands.

Install pip

osx (Homebrew)

brew install python3

ubuntu (postgres and psycopg2 support)

sudo apt install python3-dev postgresql postgresql-contrib python3-psycopg2 libpq-dev

Installation

Download the this git repository and than inside the root folder of the repository.

pip3 install walk

Current Version

0.3.5

Configuration

Intialize default configurations file 'walk_config.json'.

walk --init

The default walk_config.json looks like this.

{
    "test": [
        "user=postgres",
        "dbname=test",
        "adapter=postgresql | mysql"
    ],
    "dev": [
        "user=postgres",
        "dbname=dev",
        "adapter=postgresql | mysql"
    ],
    "prod": [
        "user=postgres",
        "dbname=prod",
        "password=pw",
        "adapter=postgresql | mysql"
    ]
}

Passing db config parameters directly to the command. The config attributes in the config file which are also included in the command paramters list will be ignored.

"dev": {
    "dbname=test"
}

walk -p dbname=prod -p password=pw -p adapter=postgresql -e prod

-> dbname=prod will be taken

For more configuration parameters look inside the documentation of the 'psycopg2' connection class. Here

Migrations sql file

To create a new migrations file inside the migrations folder. Use the following command. The default database environment is 'dev'.

walk --new test_file_name

Execute migrations

To execute the migration files for the 'dev' database enviroment use the following command.

walk --migrate --env dev

Seeds sql file

To create a new seed file inside the seeds folder. Use the following command. The default database environment is 'dev'.

walk --newseed test_seed_name 

Execute seeds

To execute the seed files for the 'dev' database enviroment use the following command. You can also combine the seeds and the migrations. Migrations will be executed first so that seeds can also access current db changes.

walk --seed --env dev

Load configuration values from .env

Have a look inside the .env.example file for mor information about the valid parameters.

Use the '-v' command line param to take config values from the .env file

waalk -m -e dev -v

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

walk-0.3.5.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

walk-0.3.5-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file walk-0.3.5.tar.gz.

File metadata

  • Download URL: walk-0.3.5.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for walk-0.3.5.tar.gz
Algorithm Hash digest
SHA256 19b0a00d2a57efebcb3d8f58f11b45d17baace52df270a555906a89d2c5126e5
MD5 bbcc458d11fd9e1f3a29cc27cb6a2be7
BLAKE2b-256 afbf3b49d4798ca8c5207b4a3be2a4b7fcd95bf95fb3474ad3eb92a2d0305689

See more details on using hashes here.

File details

Details for the file walk-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: walk-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for walk-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ddaf5ecde56cfe2d171af777201251ddfa7ea210319f0419dae2ac316306d997
MD5 0fdc26d8edfa4300bf036265e39d3ab3
BLAKE2b-256 6e10bc6e634ad825df23021802f1d8a0e1aa41e922aeeafc9e8b09e9cbbba05d

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