# coding: utf-8 from sqlalchemy import Boolean, Column, DECIMAL, Date, Double, ForeignKey, ForeignKeyConstraint, Integer, String, Text, text from sqlalchemy.orm import relationship from sqlalchemy.ext.declarative import declarative_base ######################################################################################################################## # Classes describing database for SqlAlchemy ORM, initially created by schema introspection. # # Alter this file per your database maintenance policy # See https://apilogicserver.github.io/Docs/Project-Rebuild/#rebuilding # # Created: August 22, 2023 13:45:56 # Database: sqlite:////Users/val/dev/ApiLogicServer/ApiLogicServer-dev/org_git/API_Fiddle/1. Instant_Creation/database/db.sqlite # Dialect: sqlite # # mypy: ignore-errors ######################################################################################################################## from safrs import SAFRSBase from flask_login import UserMixin import safrs, flask_sqlalchemy from safrs import jsonapi_attr from flask_sqlalchemy import SQLAlchemy from sqlalchemy.orm import relationship from sqlalchemy.orm import Mapped from sqlalchemy.sql.sqltypes import NullType from typing import List db = SQLAlchemy() Base = declarative_base() # type: flask_sqlalchemy.model.DefaultMeta metadata = Base.metadata #NullType = db.String # datatype fixup #TIMESTAMP= db.TIMESTAMP from sqlalchemy.dialects.sqlite import * class Category(SAFRSBase, Base): __tablename__ = 'CategoryTableNameTest' _s_collection_name = 'Category' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) CategoryName = Column('CategoryName_ColumnName', String(8000)) # manual fix - alias Description = Column(String(8000)) Client_id = Column(Integer) # parent relationships (access parent) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Customer(SAFRSBase, Base): __tablename__ = 'Customer' _s_collection_name = 'Customer' # type: ignore __bind_key__ = 'None' Id = Column(String(8000), primary_key=True) CompanyName = Column(String(8000)) ContactName = Column(String(8000)) ContactTitle = Column(String(8000)) Address = Column(String(8000)) City = Column(String(8000)) Region = Column(String(8000)) PostalCode = Column(String(8000)) Country = Column(String(8000)) Phone = Column(String(8000)) Fax = Column(String(8000)) Balance : DECIMAL = Column(DECIMAL) CreditLimit : DECIMAL = Column(DECIMAL) OrderCount = Column(Integer, server_default=text("0")) UnpaidOrderCount = Column(Integer, server_default=text("0")) Client_id = Column(Integer) allow_client_generated_ids = True # parent relationships (access parent) # child relationships (access children) OrderList : Mapped[List["Order"]] = relationship(back_populates="Customer") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class CustomerDemographic(SAFRSBase, Base): __tablename__ = 'CustomerDemographic' _s_collection_name = 'CustomerDemographic' # type: ignore __bind_key__ = 'None' Id = Column(String(8000), primary_key=True) CustomerDesc = Column(String(8000)) allow_client_generated_ids = True # parent relationships (access parent) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Department(SAFRSBase, Base): __tablename__ = 'Department' _s_collection_name = 'Department' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) DepartmentId = Column(ForeignKey('Department.Id')) DepartmentName = Column(String(100)) # parent relationships (access parent) Department : Mapped["Department"] = relationship(remote_side=[Id], back_populates=("DepartmentList")) # child relationships (access children) DepartmentList : Mapped[List["Department"]] = relationship(back_populates="Department") EmployeeList : Mapped[List["Employee"]] = relationship(foreign_keys='[Employee.OnLoanDepartmentId]', back_populates="Department") EmployeeList1 : Mapped[List["Employee"]] = relationship(foreign_keys='[Employee.WorksForDepartmentId]', back_populates="Department1") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Location(SAFRSBase, Base): __tablename__ = 'Location' _s_collection_name = 'Location' # type: ignore __bind_key__ = 'None' country = Column(String(50), primary_key=True) city = Column(String(50), primary_key=True) notes = Column(String(256)) allow_client_generated_ids = True # parent relationships (access parent) # child relationships (access children) OrderList : Mapped[List["Order"]] = relationship(back_populates="Location") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Product(SAFRSBase, Base): __tablename__ = 'Product' _s_collection_name = 'Product' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) ProductName = Column(String(8000)) SupplierId = Column(Integer, nullable=False) CategoryId = Column(Integer, nullable=False) QuantityPerUnit = Column(String(8000)) UnitPrice : DECIMAL = Column(DECIMAL, nullable=False) UnitsInStock = Column(Integer, nullable=False) UnitsOnOrder = Column(Integer, nullable=False) ReorderLevel = Column(Integer, nullable=False) Discontinued = Column(Integer, nullable=False) UnitsShipped = Column(Integer) # parent relationships (access parent) # child relationships (access children) OrderDetailList : Mapped[List["OrderDetail"]] = relationship(back_populates="Product") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Region(SAFRSBase, Base): __tablename__ = 'Region' _s_collection_name = 'Region' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) RegionDescription = Column(String(8000)) # parent relationships (access parent) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class SampleDBVersion(SAFRSBase, Base): __tablename__ = 'SampleDBVersion' _s_collection_name = 'SampleDBVersion' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) Notes = Column(String(800)) # parent relationships (access parent) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Shipper(SAFRSBase, Base): __tablename__ = 'Shipper' _s_collection_name = 'Shipper' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) CompanyName = Column(String(8000)) Phone = Column(String(8000)) # parent relationships (access parent) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Supplier(SAFRSBase, Base): __tablename__ = 'Supplier' _s_collection_name = 'Supplier' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) CompanyName = Column(String(8000)) ContactName = Column(String(8000)) ContactTitle = Column(String(8000)) Address = Column(String(8000)) City = Column(String(8000)) Region = Column(String(8000)) PostalCode = Column(String(8000)) Country = Column(String(8000)) Phone = Column(String(8000)) Fax = Column(String(8000)) HomePage = Column(String(8000)) # parent relationships (access parent) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Territory(SAFRSBase, Base): __tablename__ = 'Territory' _s_collection_name = 'Territory' # type: ignore __bind_key__ = 'None' Id = Column(String(8000), primary_key=True) TerritoryDescription = Column(String(8000)) RegionId = Column(Integer, nullable=False) allow_client_generated_ids = True # parent relationships (access parent) # child relationships (access children) EmployeeTerritoryList : Mapped[List["EmployeeTerritory"]] = relationship(back_populates="Territory") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Union(SAFRSBase, Base): __tablename__ = 'Union' _s_collection_name = 'Union' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) Name = Column(String(80)) # parent relationships (access parent) # child relationships (access children) EmployeeList : Mapped[List["Employee"]] = relationship(back_populates="Union") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Employee(SAFRSBase, Base): __tablename__ = 'Employee' _s_collection_name = 'Employee' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) LastName = Column(String(8000)) FirstName = Column(String(8000)) Title = Column(String(8000)) TitleOfCourtesy = Column(String(8000)) BirthDate = Column(String(8000)) HireDate = Column(String(8000)) Address = Column(String(8000)) City = Column(String(8000)) Region = Column(String(8000)) PostalCode = Column(String(8000)) Country = Column(String(8000)) HomePhone = Column(String(8000)) Extension = Column(String(8000)) Notes = Column(String(8000)) ReportsTo = Column(Integer, index=True) PhotoPath = Column(String(8000)) EmployeeType = Column(String(16), server_default=text("Salaried")) Salary : DECIMAL = Column(DECIMAL) WorksForDepartmentId = Column(ForeignKey('Department.Id')) OnLoanDepartmentId = Column(ForeignKey('Department.Id')) UnionId = Column(ForeignKey('Union.Id')) Dues : DECIMAL = Column(DECIMAL) # parent relationships (access parent) Department : Mapped["Department"] = relationship(foreign_keys='[Employee.OnLoanDepartmentId]', back_populates=("EmployeeList")) Union : Mapped["Union"] = relationship(back_populates=("EmployeeList")) Department1 : Mapped["Department"] = relationship(foreign_keys='[Employee.WorksForDepartmentId]', back_populates=("EmployeeList1")) # child relationships (access children) EmployeeAuditList : Mapped[List["EmployeeAudit"]] = relationship(back_populates="Employee") EmployeeTerritoryList : Mapped[List["EmployeeTerritory"]] = relationship(back_populates="Employee") OrderList : Mapped[List["Order"]] = relationship(back_populates="Employee") @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class EmployeeAudit(SAFRSBase, Base): __tablename__ = 'EmployeeAudit' _s_collection_name = 'EmployeeAudit' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) Title = Column(String) Salary : DECIMAL = Column(DECIMAL) LastName = Column(String) FirstName = Column(String) EmployeeId = Column(ForeignKey('Employee.Id')) CreatedOn = Column(Text) # parent relationships (access parent) Employee : Mapped["Employee"] = relationship(back_populates=("EmployeeAuditList")) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class EmployeeTerritory(SAFRSBase, Base): __tablename__ = 'EmployeeTerritory' _s_collection_name = 'EmployeeTerritory' # type: ignore __bind_key__ = 'None' Id = Column(String(8000), primary_key=True) EmployeeId = Column(ForeignKey('Employee.Id'), nullable=False) TerritoryId = Column(ForeignKey('Territory.Id')) allow_client_generated_ids = True # parent relationships (access parent) Employee : Mapped["Employee"] = relationship(back_populates=("EmployeeTerritoryList")) Territory : Mapped["Territory"] = relationship(back_populates=("EmployeeTerritoryList")) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class Order(SAFRSBase, Base): __tablename__ = 'Order' _s_collection_name = 'Order' # type: ignore __bind_key__ = 'None' __table_args__ = ( ForeignKeyConstraint(['Country', 'City'], ['Location.country', 'Location.city']), ) Id = Column(Integer, primary_key=True) CustomerId = Column(ForeignKey('Customer.Id'), nullable=False, index=True) EmployeeId = Column(ForeignKey('Employee.Id'), nullable=False, index=True) OrderDate = Column(String(8000)) RequiredDate = Column(Date) ShippedDate = Column(String(8000)) ShipVia = Column(Integer) Freight : DECIMAL = Column(DECIMAL, server_default=text("0")) ShipName = Column(String(8000)) ShipAddress = Column(String(8000)) ShipCity = Column(String(8000)) ShipRegion = Column(String(8000)) ShipZip = Column('ShipPostalCode', String(8000)) # manual fix - alias ShipCountry = Column(String(8000)) AmountTotal : DECIMAL = Column(DECIMAL(10, 2)) Country = Column(String(50)) City = Column(String(50)) Ready = Column(Boolean, server_default=text("TRUE")) OrderDetailCount = Column(Integer, server_default=text("0")) CloneFromOrder = Column(ForeignKey('Order.Id')) # parent relationships (access parent) Order : Mapped["Order"] = relationship(remote_side=[Id], back_populates=("OrderList")) Location : Mapped["Location"] = relationship(back_populates=("OrderList")) Customer : Mapped["Customer"] = relationship(back_populates=("OrderList")) Employee : Mapped["Employee"] = relationship(back_populates=("OrderList")) # child relationships (access children) OrderList : Mapped[List["Order"]] = relationship(back_populates="Order") OrderDetailList : Mapped[List["OrderDetail"]] = relationship(cascade="all, delete", back_populates="Order") # manual fix @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_ class OrderDetail(SAFRSBase, Base): __tablename__ = 'OrderDetail' _s_collection_name = 'OrderDetail' # type: ignore __bind_key__ = 'None' Id = Column(Integer, primary_key=True) OrderId = Column(ForeignKey('Order.Id'), nullable=False, index=True) ProductId = Column(ForeignKey('Product.Id'), nullable=False, index=True) UnitPrice : DECIMAL = Column(DECIMAL) Quantity = Column(Integer, server_default=text("1"), nullable=False) Discount = Column(Double, server_default=text("0")) Amount : DECIMAL = Column(DECIMAL) ShippedDate = Column(String(8000)) # parent relationships (access parent) Order : Mapped["Order"] = relationship(back_populates=("OrderDetailList")) Product : Mapped["Product"] = relationship(back_populates=("OrderDetailList")) # child relationships (access children) @jsonapi_attr def _check_sum_(self): # type: ignore [no-redef] return None if isinstance(self, flask_sqlalchemy.model.DefaultMeta) \ else self._check_sum_property if hasattr(self,"_check_sum_property") \ else None # property does not exist during initialization @_check_sum_.setter def _check_sum_(self, value): # type: ignore [no-redef] self._check_sum_property = value S_CheckSum = _check_sum_