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.
You can install masonite-fixtures
via pip:
pip install masonite-fixtures
- 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 orrows
property. - Enable query logging for debugging and monitoring database interactions.
To use the masonite-fixtures
package, follow these steps:
- Import your model class that implements the
FixtureMixin
. - 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
]
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.
This project is licensed under the MIT License - see the LICENSE file for details.