Spaces:
Paused
Paused
Commit
·
9d4b413
1
Parent(s):
f3a3e9b
updated
Browse files- backend/models/database.py +6 -11
- backend/models/user.py +2 -2
backend/models/database.py
CHANGED
|
@@ -1,13 +1,12 @@
|
|
| 1 |
-
"""
|
| 2 |
-
Database models for the Codingo application.
|
| 3 |
-
"""
|
| 4 |
-
|
| 5 |
from flask_sqlalchemy import SQLAlchemy
|
| 6 |
from datetime import datetime
|
| 7 |
import json
|
| 8 |
|
| 9 |
db = SQLAlchemy()
|
| 10 |
|
|
|
|
|
|
|
|
|
|
| 11 |
class Job(db.Model):
|
| 12 |
__tablename__ = 'jobs'
|
| 13 |
|
|
@@ -15,7 +14,7 @@ class Job(db.Model):
|
|
| 15 |
role = db.Column(db.String(100), nullable=False)
|
| 16 |
description = db.Column(db.Text, nullable=False)
|
| 17 |
seniority = db.Column(db.String(50), nullable=False)
|
| 18 |
-
skills = db.Column(db.Text, nullable=False)
|
| 19 |
company = db.Column(db.String(100), nullable=False)
|
| 20 |
date_posted = db.Column(db.DateTime, default=datetime.utcnow)
|
| 21 |
|
|
@@ -51,16 +50,12 @@ class Application(db.Model):
|
|
| 51 |
except:
|
| 52 |
return {}
|
| 53 |
|
| 54 |
-
# Initialize the database
|
| 55 |
def init_db(app):
|
| 56 |
-
"""Initialize the database with the Flask app."""
|
| 57 |
db.init_app(app)
|
| 58 |
-
|
| 59 |
with app.app_context():
|
| 60 |
-
# ✅ IMPORT ALL MODELS BEFORE db.create_all()
|
| 61 |
-
from backend.models.user import User # make sure this line exists
|
| 62 |
-
from backend.models.database import Job, Application # optional if circular import
|
| 63 |
db.create_all()
|
|
|
|
|
|
|
| 64 |
|
| 65 |
# Add sample data if jobs table is empty
|
| 66 |
if Job.query.count() == 0:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
from flask_sqlalchemy import SQLAlchemy
|
| 2 |
from datetime import datetime
|
| 3 |
import json
|
| 4 |
|
| 5 |
db = SQLAlchemy()
|
| 6 |
|
| 7 |
+
# ✅ Import User model here, before Job and Application use it
|
| 8 |
+
from backend.models.user import User
|
| 9 |
+
|
| 10 |
class Job(db.Model):
|
| 11 |
__tablename__ = 'jobs'
|
| 12 |
|
|
|
|
| 14 |
role = db.Column(db.String(100), nullable=False)
|
| 15 |
description = db.Column(db.Text, nullable=False)
|
| 16 |
seniority = db.Column(db.String(50), nullable=False)
|
| 17 |
+
skills = db.Column(db.Text, nullable=False)
|
| 18 |
company = db.Column(db.String(100), nullable=False)
|
| 19 |
date_posted = db.Column(db.DateTime, default=datetime.utcnow)
|
| 20 |
|
|
|
|
| 50 |
except:
|
| 51 |
return {}
|
| 52 |
|
|
|
|
| 53 |
def init_db(app):
|
|
|
|
| 54 |
db.init_app(app)
|
|
|
|
| 55 |
with app.app_context():
|
|
|
|
|
|
|
|
|
|
| 56 |
db.create_all()
|
| 57 |
+
# Add sample data...
|
| 58 |
+
|
| 59 |
|
| 60 |
# Add sample data if jobs table is empty
|
| 61 |
if Job.query.count() == 0:
|
backend/models/user.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
|
|
| 1 |
from flask_login import UserMixin
|
| 2 |
from werkzeug.security import generate_password_hash, check_password_hash
|
| 3 |
-
from backend.models.database import db
|
| 4 |
-
|
| 5 |
|
| 6 |
class User(UserMixin, db.Model):
|
| 7 |
__tablename__ = 'users'
|
|
|
|
| 1 |
+
from flask_sqlalchemy import SQLAlchemy
|
| 2 |
from flask_login import UserMixin
|
| 3 |
from werkzeug.security import generate_password_hash, check_password_hash
|
| 4 |
+
from backend.models.database import db
|
|
|
|
| 5 |
|
| 6 |
class User(UserMixin, db.Model):
|
| 7 |
__tablename__ = 'users'
|