forked from cartsnitch/cartsnitch
Squashed 'common/' content from commit 28b2939
git-subtree-dir: common git-subtree-split: 28b2939037b5932ca5d5a6c734b292c012ac675f
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
"""Entry point for `python -m cartsnitch_common.seed` and `cartsnitch-seed` CLI."""
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
from cartsnitch_common.seed.config import SEED_VALUE
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(
|
||||
prog="cartsnitch-seed",
|
||||
description="Generate deterministic seed data for the CartSnitch dev environment.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--database-url",
|
||||
default=None,
|
||||
help=(
|
||||
"PostgreSQL connection URL (sync driver). "
|
||||
"Defaults to CARTSNITCH_DATABASE_URL_SYNC env var or built-in default."
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
"--dry-run",
|
||||
action="store_true",
|
||||
help="Print planned record counts without writing to the database.",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--seed",
|
||||
type=int,
|
||||
default=SEED_VALUE,
|
||||
help=f"Random seed for deterministic output (default: {SEED_VALUE}).",
|
||||
)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
from cartsnitch_common.seed.runner import run_seed
|
||||
|
||||
run_seed(
|
||||
database_url=args.database_url,
|
||||
seed_value=args.seed,
|
||||
dry_run=args.dry_run,
|
||||
)
|
||||
except Exception as exc:
|
||||
print(f"ERROR: {exc}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user