34 lines
No EOL
1.2 KiB
Python
34 lines
No EOL
1.2 KiB
Python
from sqlalchemy import Column, Integer, String, Float, Date
|
|
from app.database import Base
|
|
|
|
class Customer(Base):
|
|
__tablename__ = "customers"
|
|
|
|
customer_id = Column(String(20), primary_key=True, index=True) # IDs are strings now
|
|
full_name = Column(String(100), index=True)
|
|
email = Column(String(100), unique=True)
|
|
phone = Column(String(50))
|
|
date_of_birth = Column(Date)
|
|
age = Column(Integer)
|
|
gender = Column(String(20))
|
|
street_address = Column(String(100))
|
|
city = Column(String(50))
|
|
state = Column(String(10))
|
|
zip_code = Column(String(20))
|
|
home_branch_id = Column(Integer)
|
|
customer_since = Column(Date)
|
|
employment_status = Column(String(50))
|
|
annual_income = Column(Float)
|
|
credit_score = Column(Integer)
|
|
preferred_contact_method = Column(String(20))
|
|
|
|
class Account(Base):
|
|
__tablename__ = "accounts"
|
|
|
|
account_id = Column(String(20), primary_key=True, index=True) # IDs are strings now
|
|
account_number = Column(String(20), unique=True, index=True)
|
|
customer_id = Column(String(20)) # matches Customer.customer_id
|
|
account_type = Column(String(20))
|
|
open_date = Column(Date)
|
|
balance = Column(Float)
|
|
branch_id = Column(Integer) |