Skip to content

jedymatt/sqlalchemyseed

Repository files navigation

sqlalchemyseed

PyPI PyPI - Python Version PyPI - License Python package Maintainability codecov Documentation Status

Sqlalchemy seeder that supports nested relationships.

Supported file types

  • json
  • yaml
  • csv

Installation

Default installation

pip install sqlalchemyseed

Quickstart

main.py

from sqlalchemyseed import load_entities_from_json
from sqlalchemyseed import Seeder
from db import session

# load entities
entities = load_entities_from_json('data.json')

# Initializing Seeder
seeder = Seeder(session)

# Seeding
seeder.seed(entities)

# Committing
session.commit()  # or seeder.session.commit()

data.json

{
    "model": "models.Person",
    "data": [
        {
            "name": "John March",
            "age": 23
        },
        {
            "name": "Juan Dela Cruz",
            "age": 21
        }
    ]
}

Documentation

https://sqlalchemyseed.readthedocs.io/

Found Bug?

Report here in this link: https://github.com/jedymatt/sqlalchemyseed/issues

Want to contribute?

First, Clone this repository.

Install dev dependencies

Inside the folder, paste this in the terminal to install necessary dependencies:

pip install -r requirements.txt -r docs/requirements.txt

Note: make sure you have the virtual environment and enabled, or if you are using vs code and docker then you can simply re-open this as container.

Run tests

Before running tests, make sure that the package is installed as editable:

python setup.py develop --user

Then run the test:

pytest tests

Run test with coverage

coverage run -m pytest

Autobuild documentation

sphinx-autobuild docs docs/_build/html