-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_insertion.py
More file actions
65 lines (55 loc) · 2.67 KB
/
data_insertion.py
File metadata and controls
65 lines (55 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///Staff_management.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
# Database models
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
password = db.Column(db.String(120), nullable=False)
role = db.Column(db.String(20), nullable=False)
class LeaveApplication(db.Model):
id = db.Column(db.Integer, primary_key=True)
staff_name = db.Column(db.String(80), nullable=False)
division = db.Column(db.String(80), nullable=False)
leave_dates = db.Column(db.String(50), nullable=False)
reason = db.Column(db.String(200), nullable=False)
status = db.Column(db.String(20), nullable=False)
class ProxyApplication(db.Model):
id = db.Column(db.Integer, primary_key=True)
staff_name = db.Column(db.String(80), nullable=False)
division = db.Column(db.String(80), nullable=False)
proxy_for = db.Column(db.String(80), nullable=False)
dates = db.Column(db.String(50), nullable=False)
reason = db.Column(db.String(200), nullable=False)
status = db.Column(db.String(20), nullable=False)
class Faculty(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
division = db.Column(db.String(80), nullable=False)
contact = db.Column(db.String(20), nullable=False)
email = db.Column(db.String(120), nullable=False)
experience = db.Column(db.Integer, nullable=False)
subjects = db.Column(db.String(200), nullable=False)
office_hours = db.Column(db.String(100), nullable=False)
# Create the database if it doesn't exist
with app.app_context():
db.create_all()
# Sample data
sample_users = [
# User(username='admin', password='admin123', role='admin'),
# User(username='1', password='user123', role='user'),
# User(username='user2', password='user123', role='user'),
User(username="2", password='mny123', role="manager")
]
sample_faculties = [
Faculty(name='John Doe', division='Math', contact='1234567890', email='john@example.com', experience=5, subjects='Algebra, Geometry', office_hours='9AM - 11AM'),
Faculty(name='Jane Smith', division='Science', contact='0987654321', email='jane@example.com', experience=3, subjects='Biology, Chemistry', office_hours='11AM - 1PM')
]
# Insert sample data into the database
db.session.bulk_save_objects(sample_users)
db.session.bulk_save_objects(sample_faculties)
db.session.commit()
print("Sample data inserted successfully.")