54 lines
1.9 KiB
Python
54 lines
1.9 KiB
Python
import click
|
||
from flask.cli import with_appcontext
|
||
from datetime import datetime, timedelta
|
||
|
||
from app import db
|
||
from plugins.auth.models import User
|
||
from plugins.plant.models import (
|
||
Plant, PlantCommonName, PlantScientificName
|
||
)
|
||
|
||
@click.command(name='preload-data') # 🔧 changed from preload_data
|
||
@with_appcontext
|
||
def preload_data_cli():
|
||
preload_data(auto=False)
|
||
|
||
def preload_data(auto=False):
|
||
if User.query.filter_by(email='admin@example.com').first():
|
||
if not auto:
|
||
click.echo("⚠️ Demo data already exists, skipping.")
|
||
return
|
||
|
||
if not auto:
|
||
click.echo("🌱 Seeding demo data...")
|
||
|
||
# USERS
|
||
admin = User(email='admin@example.com', role='admin', is_verified=True)
|
||
admin.set_password('password123')
|
||
|
||
user = User(email='user@example.com', role='user', is_verified=True)
|
||
user.set_password('password123')
|
||
|
||
db.session.add_all([admin, user])
|
||
db.session.commit()
|
||
|
||
# COMMON & SCIENTIFIC NAMES
|
||
joepii_common = PlantCommonName(name='Philodendron Joepii')
|
||
queen_common = PlantCommonName(name='Anthurium Warocqueanum Queen')
|
||
thai_common = PlantCommonName(name='Thai Constellation Monstera')
|
||
generic_common = PlantCommonName(name='Monstera')
|
||
|
||
db.session.add_all([joepii_common, queen_common, thai_common, generic_common])
|
||
db.session.flush() # ensures all common_name IDs are available
|
||
|
||
joepii_sci = PlantScientificName(name='Philodendron × joepii', common_id=joepii_common.id)
|
||
queen_sci = PlantScientificName(name='Anthurium warocqueanum', common_id=queen_common.id)
|
||
thai_sci = PlantScientificName(name="Monstera deliciosa 'Thai Constellation'", common_id=thai_common.id)
|
||
generic_sci = PlantScientificName(name='Monstera deliciosa', common_id=generic_common.id)
|
||
|
||
db.session.add_all([joepii_sci, queen_sci, thai_sci, generic_sci])
|
||
db.session.commit()
|
||
|
||
if not auto:
|
||
click.echo("🎉 Demo data seeded successfully.")
|