Skip to main content

Package provides utilities for managing fixture data python applications. It offers a convenient way to populate database tables with predefined data.

Project description

Masonite Fixtures

The masonite-fixtures package provides utilities for managing fixture data in python applications. It offers a convenient way to populate database tables with predefined data.

Installation

You can install masonite-fixtures via pip:

pip install masonite-fixtures

Features

  • Initialize fixture data for database tables effortlessly.
  • Automatically create database tables based on the schema of the fixture model.
  • Populate database tables with data defined in the fixture model using either get_rows method or rows property.
  • Enable query logging for debugging and monitoring database interactions.

Usage

To use the masonite-fixtures package, follow these steps:

  1. Import your model class that implements the FixtureMixin.
  2. Mix the FixtureMixin into your model class.

That's it. 3. Optionally, set the __log_queries__ attribute to True to enable query logging.

Example:

from typing import Any
from masoniteorm.models import Model
from masonite_fixtures import FixtureMixin


# Example using get_rows method:
class User(Model, FixtureMixin):
    def get_rows(self) -> list[dict[str, Any]]:
        return [
            {"name": "John", "age": 30},
            {"name": "Alice", "age": 25},
            # Add more rows as needed
        ]
    
# Example using rows attribute:
class User(Model, FixtureMixin):
    rows: list[dict[str, Any]] = [
            {"name": "John", "age": 30},
            {"name": "Alice", "age": 25},
            # Add more rows as needed
        ]    

Thats it. You can now use the model as you would any other masoniteorm model.

Important

If the number of rows defined in the rows attribute or get_rows property of the fixture model class exceeds the number of rows stored in the actual database cache for the fixture, the fixture will reset the database table and reseed the fixture data.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

masonite-fixtures-0.0.5.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

masonite_fixtures-0.0.5-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file masonite-fixtures-0.0.5.tar.gz.

File metadata

  • Download URL: masonite-fixtures-0.0.5.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for masonite-fixtures-0.0.5.tar.gz
Algorithm Hash digest
SHA256 bc8aa832f4fe304f873fe79693e4b77cb57ae3afd15c2b21da1233dc6c493dbb
MD5 7257a03b0204a206b8265c370611a520
BLAKE2b-256 360033c653bd2fafc0ced7f0e21773468fe3c72a741b58ea9152651a5179aad5

See more details on using hashes here.

File details

Details for the file masonite_fixtures-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for masonite_fixtures-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7ff11d843c13a2652f91080b11eac93ae00159ad6852f9f415478f3dd201c75d
MD5 2e6a308290868eec10eb118744c0e135
BLAKE2b-256 901c2e10bcf2e4de872d278d65cac672c9e52a28fa8d74c570b1bf08dce96ea0

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