אני עושה git pull upstream develop ולאחר מכן מריץ את הפקודה:
uvicorn app.main:app --reload
ואני מקבל את השגיאה:
File “.\app\main.py”, line 5, in
from app.config import PSQL_ENVIRONMENT
ModuleNotFoundError: No module named ‘app.config’
כשאני יוצר העתק של הקובץ config.example.py לקובץ בשם config.py האתר כן רץ אבל כשאני לוחץ על אחת הלשוניות נגיד agenda אני מקבל internal server error
adva.alkalay
תעשה models.Base.metadata.drop_all(bind=engine)
לפני הבניה של הטבלאות והבעיה צפויה להיפתר
לייק 1
krauskas
זו פקודה שאני מריץ דרך cmd?
adva.alkalay
אתה יכול להוסיף את זה למשל ב-main.py לפני הפונקציה של בניית הטבלאות, כלומר:
models.Base.metadata.drop_all(bind=engine)
def create_tables(engine, psql_environment):
if 'sqlite' in str(engine.url) and psql_environment:
raise models.PSQLEnvironmentError(
"You're trying to use PSQL features on SQLite env.\n"
"Please set app.config.PSQL_ENVIRONMENT to False "
"and run the app again."
)
else:
models.Base.metadata.create_all(bind=engine)
לייק 1
krauskas
תודה רבה!
ולגבי config.py לא הבנתי אם צריך או לא שיהיה קובץ כזה ? חשבתי שconfig.example.py מחליף אותו…
adva.alkalay
צריך קובץ config.py, הקובץ שאתה מדבר עליו הוא דוגמא לאחד כזה כי כל אחד יכול לשנות לפי הגדרותיו והעדפותיו
תנסה שנייה לכתוב uvicorn app.main:app בלי ה---reload
(ואגב, אחרי שכבר הרצת את התכנית עם הפלת הטבלאות, אתה יכול למחוק את models.Base.metadata.drop_all(bind=engine) מהקובץ)
krauskas
זה עובד!
אז רק לוודא שהבנתי: למחוק את הפקודה models.Base.metadata.drop_all(bind=engine)
ששמתי לפני הפונקציה שיוצרת טבלאות?
ועוד שאלה אני רואה שעדיין אין לוח שנה… מעניין אותי אם אני כן צריך לראות.