[update]: Database schema

This commit is contained in:
VivianDee
2025-03-28 15:49:37 +01:00
parent bc8f8e2cdd
commit 68ad9e35a1
8 changed files with 38 additions and 42 deletions
+3 -4
View File
@@ -1,17 +1,16 @@
from datetime import datetime
from datetime import datetime, timezone
from app import db
class Account(db.Model):
__tablename__ = 'accounts'
__table_args__ = {'schema': 'flask_app'}
id = db.Column(db.String(50), primary_key=True)
customer_id = db.Column(db.String(50), nullable=False)
account_type = db.Column(db.String(50))
status = db.Column(db.String(20), default='active')
lien_amount = db.Column(db.Float, default=0.0)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
# Database relationship
# customer = db.relationship(
+3 -4
View File
@@ -1,15 +1,14 @@
from datetime import datetime
from datetime import datetime, timezone
from app import db
class Customer(db.Model):
__tablename__ = 'customers'
__table_args__ = {'schema': 'flask_app'}
id = db.Column(db.String(50), primary_key=True)
msisdn = db.Column(db.String(20), unique=True, nullable=False)
country_code = db.Column(db.String(3), nullable=False)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
@classmethod
def is_eligible(cls, customer_id):
+3 -4
View File
@@ -1,10 +1,9 @@
from datetime import datetime
from datetime import datetime, timezone
from app import db
class Loan(db.Model):
__tablename__ = 'loans'
__table_args__ = {'schema': 'flask_app'}
id = db.Column(db.String(50), primary_key=True)
customer_id = db.Column(db.String(50), nullable=False)
@@ -12,8 +11,8 @@ class Loan(db.Model):
product_id = db.Column(db.String(20), nullable=False)
principal_amount = db.Column(db.Float, nullable=False)
status = db.Column(db.String(20), default='pending')
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
@classmethod
+7 -6
View File
@@ -1,15 +1,16 @@
from datetime import datetime
from datetime import datetime, timezone
from app import db
class Offer(db.Model):
__tablename__ = 'offers'
__table_args__ = {'schema': 'flask_app'}
id = db.Column(db.Integer, primary_key=True)
amount = db.Column(db.Float, nullable=False)
interest_rate = db.Column(db.Float, nullable=False)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
product_id = db.Column(db.String, nullable=False)
min_amount = db.Column(db.Float, nullable=False)
max_amount = db.Column(db.Float, nullable=False)
tenor = db.Column(db.Integer, nullable=False)
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
def __repr__(self):
return f'<LoanOffer {self.id}>'
+3 -4
View File
@@ -1,17 +1,16 @@
from datetime import datetime
from datetime import datetime, timezone
from app import db
class Transaction(db.Model):
__tablename__ = 'transactions'
__table_args__ = {'schema': 'flask_app'}
id = db.Column(db.String(50), primary_key=True)
account_id = db.Column(db.String(50), nullable=False)
type = db.Column(db.String(50), nullable=False)
amount = db.Column(db.Float, nullable=False)
status = db.Column(db.String(20), default='pending')
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
created_at = db.Column(db.DateTime, default=datetime.now(timezone.utc))
updated_at = db.Column(db.DateTime, default=datetime.now(timezone.utc), onupdate=datetime.now(timezone.utc))
def __repr__(self):
return f'<Transaction {self.id}>'