Lavlu118557 commited on
Commit
bd1228b
·
verified ·
1 Parent(s): 53c8c29

Create models.py

Browse files
Files changed (1) hide show
  1. models.py +40 -0
models.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from app import db
2
+ from datetime import datetime
3
+ from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, JSON
4
+
5
+ class DataTable(db.Model):
6
+ """Model for dynamically created data tables"""
7
+ __tablename__ = 'data_tables'
8
+
9
+ id = db.Column(db.Integer, primary_key=True)
10
+ name = db.Column(db.String(100), unique=True, nullable=False)
11
+ description = db.Column(db.Text)
12
+ schema = db.Column(db.JSON) # Store table schema as JSON
13
+ created_at = db.Column(db.DateTime, default=datetime.utcnow)
14
+ updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
15
+ is_active = db.Column(db.Boolean, default=True)
16
+
17
+ class DataPipeline(db.Model):
18
+ """Model for data processing pipelines"""
19
+ __tablename__ = 'data_pipelines'
20
+
21
+ id = db.Column(db.Integer, primary_key=True)
22
+ name = db.Column(db.String(100), unique=True, nullable=False)
23
+ description = db.Column(db.Text)
24
+ source_table = db.Column(db.String(100), nullable=False)
25
+ target_table = db.Column(db.String(100))
26
+ pipeline_config = db.Column(db.JSON) # Store pipeline configuration
27
+ yaml_config = db.Column(db.Text) # Store original YAML configuration
28
+ is_active = db.Column(db.Boolean, default=True)
29
+ created_at = db.Column(db.DateTime, default=datetime.utcnow)
30
+ updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
31
+
32
+ class DataRecord(db.Model):
33
+ """Generic model for storing data records"""
34
+ __tablename__ = 'data_records'
35
+
36
+ id = db.Column(db.Integer, primary_key=True)
37
+ table_name = db.Column(db.String(100), nullable=False, index=True)
38
+ data = db.Column(db.JSON, nullable=False) # Store actual data as JSON
39
+ created_at = db.Column(db.DateTime, default=datetime.utcnow)
40
+ updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)