groupe-meditation/deploy/seed.py

63 lines
2.3 KiB
Python
Raw Normal View History

2026-03-04 14:01:00 -05:00
"""
Script d'initialisation.
Crée le schéma et le groupe de démonstration initial.
2026-04-17 04:04:04 -04:00
Usage: cd /opt/groupe-meditation/backend && venv/bin/python ../deploy/seed.py
2026-03-04 14:01:00 -05:00
"""
import asyncio
import sys
import os
# Ajouter le backend au path
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "backend"))
from app.core.database import engine, Base, async_session
from app.services.admin_database import initialiser_demo
2026-03-04 14:01:00 -05:00
# Importer TOUS les modèles pour que create_all crée toutes les tables
from app.models.groupe import Groupe
from app.models.membre import Membre
from app.models.poste import Poste
from app.models.affectation import Affectation
from app.models.invitation import Invitation
from app.models.collecte import Collecte
from app.models.depense import Depense
from app.models.reunion import Reunion
from app.models.presence import Presence
2026-03-09 00:54:33 -04:00
from app.models.pv_reunion import PvReunion
2026-03-04 14:01:00 -05:00
from app.models.rotation import Rotation
2026-03-09 00:54:33 -04:00
from app.models.rapport_rsg import RapportRsg
2026-03-04 14:01:00 -05:00
from app.models.jeton import Jeton
from app.models.litterature import Litterature
from app.models.vente_litterature import VenteLitterature
from app.models.envoi_contribution import EnvoiContribution
from app.models.config_repartition import ConfigRepartition
from app.models.sync_log import SyncLog
2026-04-17 04:04:04 -04:00
from app.models.proposition import Proposition
from app.models.operation_bancaire import OperationBancaire
from app.models.evenement import Evenement
from app.models.candidature import Candidature
from app.models.poste_module import PosteModule
from app.models.reserve import Reserve
2026-05-25 17:39:38 -04:00
from app.models.transaction_comptable import TransactionComptable
from app.models.mouvement_reserve import MouvementReserve
from app.models.destinataire_contribution import DestinataireContribution
2026-03-04 14:01:00 -05:00
async def seed():
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
async with async_session() as db:
demo = await initialiser_demo(db)
2026-03-04 14:01:00 -05:00
await db.commit()
print("\n═══ Initialisation terminée ═══")
print(" Groupe: Groupe Démonstration")
print(f" {demo['message']}")
print("\n Connectez-vous avec:")
print(" Identifiant: sysadmin")
print(" PIN: 0000")
2026-03-04 14:01:00 -05:00
if __name__ == "__main__":
asyncio.run(seed())