Mar-27-2022, 06:35 PM
Hi!
Please help me with the error below.
Please help me with the error below.
Error: Base.metadata.create_all(engine)
AttributeError: 'function' object has no attribute 'metadata
repository -> users.pyfrom Model.Domain.users import Users from sqlalchemy.orm import sessionmaker from datetime import datetime from Utils.utils import Base, engine class DBUsersRepository: def __init__(self): self.session = sessionmaker(engine)() # Create new user def add_user(self, user_id, first_name, last_name, email_name, phone_number, address, date_of_birth, join_date): new_user = Users( user_id=user_id, first_name=first_name, last_name=last_name, email_name=email_name, address=address, phone_number=phone_number, date_of_birth=date_of_birth, join_date=join_date ) self.session.add(new_user) self.session.commit() if __name__ == '__main__': Base.metadata.create_all(engine) user_repo = DBUsersRepository() user_repo.add_user( user_id='1234567890123', first_name='fname', last_name='lname', email_name='[email protected]', address='address1', phone_number=757271432, date_of_birth='2000-22-10', join_date=datetime.now() )Utils.py
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import create_engine Base = declarative_base engine = create_engine('mysql+pymysql://root@localhost:3306/BankApp')domain -> users.py
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy import Column, String, Integer from sqlalchemy.types import DateTime Base = declarative_base() class Users(Base): __tablename__ = 'users' user_id = Column(String(13), primary_key=True) first_name = Column(String(30), nullable=False) last_name = Column(String(30), nullable=False) email_name = Column(String(50), nullable=False) address = Column(String(50), nullable=False) phone_number = Column(String(10), nullable=False) date_of_birth = Column(DateTime, nullable=False) join_date = Column(DateTime, nullable=False) def __repr__(self): return f'user id = {self.user_id}\n' \ f'first name = {self.first_name}\n' \ f'last name = {self.last_name}\n' \ f'email = {self.email_name}\n' \ f'phone = {self.phone_number}\n' \ f'date of birth = {self.date_of_birth}\n' \ f'join date = {self.join_date}'