husseinelsaadi commited on
Commit
9d4b413
·
1 Parent(s): f3a3e9b
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) # JSON string
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 # Use the shared db object
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'