switched to mariaDB
This commit is contained in:
parent
46199395ba
commit
996fc66d76
@ -4,10 +4,19 @@ from sqlalchemy import create_engine
|
|||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from sqlalchemy.orm import sessionmaker
|
from sqlalchemy.orm import sessionmaker
|
||||||
from app import models
|
from app import models
|
||||||
|
import os
|
||||||
|
|
||||||
SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db" # Use appropriate path or database URL
|
# Get username and password from environment variables
|
||||||
|
db_username = os.getenv("DB_USERNAME")
|
||||||
|
db_password = os.getenv("DB_PASSWORD")
|
||||||
|
|
||||||
|
# Construct the database URL
|
||||||
|
#SQLALCHEMY_DATABASE_URL = f"mysql://{db_username}:{db_password}@localhost:3306/aare_db"
|
||||||
|
SQLALCHEMY_DATABASE_URL = f"mysql://{db_username}:{db_password}@localhost:3306/aare_db"
|
||||||
|
|
||||||
|
# Remove the `connect_args` parameter
|
||||||
|
engine = create_engine(SQLALCHEMY_DATABASE_URL)
|
||||||
|
|
||||||
engine = create_engine(SQLALCHEMY_DATABASE_URL, connect_args={"check_same_thread": False})
|
|
||||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
||||||
|
|
||||||
Base = declarative_base()
|
Base = declarative_base()
|
||||||
|
@ -9,9 +9,9 @@ class Shipment(Base):
|
|||||||
__tablename__ = "shipments"
|
__tablename__ = "shipments"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
shipment_name = Column(String, index=True)
|
shipment_name = Column(String(255), index=True)
|
||||||
shipment_date = Column(Date)
|
shipment_date = Column(Date)
|
||||||
shipment_status = Column(String)
|
shipment_status = Column(String(255))
|
||||||
comments = Column(String(200), nullable=True)
|
comments = Column(String(200), nullable=True)
|
||||||
contact_person_id = Column(Integer, ForeignKey("contact_persons.id"))
|
contact_person_id = Column(Integer, ForeignKey("contact_persons.id"))
|
||||||
return_address_id = Column(Integer, ForeignKey("addresses.id"))
|
return_address_id = Column(Integer, ForeignKey("addresses.id"))
|
||||||
@ -27,11 +27,10 @@ class ContactPerson(Base):
|
|||||||
__tablename__ = "contact_persons"
|
__tablename__ = "contact_persons"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
firstname = Column(String)
|
firstname = Column(String(255))
|
||||||
lastname = Column(String)
|
lastname = Column(String(255))
|
||||||
phone_number = Column(String)
|
phone_number = Column(String(255))
|
||||||
email = Column(String)
|
email = Column(String(255))
|
||||||
|
|
||||||
shipments = relationship("Shipment", back_populates="contact_person")
|
shipments = relationship("Shipment", back_populates="contact_person")
|
||||||
|
|
||||||
|
|
||||||
@ -39,23 +38,23 @@ class Address(Base):
|
|||||||
__tablename__ = "addresses"
|
__tablename__ = "addresses"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
street = Column(String)
|
street = Column(String(255))
|
||||||
city = Column(String)
|
city = Column(String(255))
|
||||||
zipcode = Column(String)
|
zipcode = Column(String(255))
|
||||||
country = Column(String)
|
country = Column(String(255))
|
||||||
|
|
||||||
shipments = relationship("Shipment", back_populates="return_address")
|
shipments = relationship("Shipment", back_populates="return_address")
|
||||||
|
|
||||||
class DewarType(Base):
|
class DewarType(Base):
|
||||||
__tablename__ = "dewar_types"
|
__tablename__ = "dewar_types"
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
dewar_type = Column(String, unique=True, index=True)
|
dewar_type = Column(String(255), unique=True, index=True)
|
||||||
serial_numbers = relationship("DewarSerialNumber", back_populates="dewar_type")
|
serial_numbers = relationship("DewarSerialNumber", back_populates="dewar_type")
|
||||||
|
|
||||||
class DewarSerialNumber(Base):
|
class DewarSerialNumber(Base):
|
||||||
__tablename__ = "dewar_serial_numbers"
|
__tablename__ = "dewar_serial_numbers"
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
serial_number = Column(String, index=True)
|
serial_number = Column(String(255), index=True)
|
||||||
dewar_type_id = Column(Integer, ForeignKey('dewar_types.id'))
|
dewar_type_id = Column(Integer, ForeignKey('dewar_types.id'))
|
||||||
dewar_type = relationship("DewarType", back_populates="serial_numbers")
|
dewar_type = relationship("DewarType", back_populates="serial_numbers")
|
||||||
|
|
||||||
@ -64,16 +63,16 @@ class Dewar(Base):
|
|||||||
__tablename__ = "dewars"
|
__tablename__ = "dewars"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
dewar_name = Column(String)
|
dewar_name = Column(String(255))
|
||||||
dewar_type_id = Column(Integer, ForeignKey("dewar_types.id"), nullable=True)
|
dewar_type_id = Column(Integer, ForeignKey("dewar_types.id"), nullable=True)
|
||||||
dewar_serial_number_id = Column(Integer, ForeignKey("dewar_serial_numbers.id"), nullable=True)
|
dewar_serial_number_id = Column(Integer, ForeignKey("dewar_serial_numbers.id"), nullable=True)
|
||||||
tracking_number = Column(String)
|
tracking_number = Column(String(255))
|
||||||
status = Column(String)
|
status = Column(String(255))
|
||||||
ready_date = Column(Date, nullable=True)
|
ready_date = Column(Date, nullable=True)
|
||||||
shipping_date = Column(Date, nullable=True)
|
shipping_date = Column(Date, nullable=True)
|
||||||
arrival_date = Column(Date, nullable=True)
|
arrival_date = Column(Date, nullable=True)
|
||||||
returning_date = Column(Date, nullable=True)
|
returning_date = Column(Date, nullable=True)
|
||||||
unique_id = Column(String, unique=True, index=True, nullable=True)
|
unique_id = Column(String(255), unique=True, index=True, nullable=True)
|
||||||
shipment_id = Column(Integer, ForeignKey("shipments.id"))
|
shipment_id = Column(Integer, ForeignKey("shipments.id"))
|
||||||
return_address_id = Column(Integer, ForeignKey("addresses.id"))
|
return_address_id = Column(Integer, ForeignKey("addresses.id"))
|
||||||
contact_person_id = Column(Integer, ForeignKey("contact_persons.id"))
|
contact_person_id = Column(Integer, ForeignKey("contact_persons.id"))
|
||||||
@ -103,8 +102,7 @@ class Proposal(Base):
|
|||||||
__tablename__ = "proposals"
|
__tablename__ = "proposals"
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
number = Column(String)
|
number = Column(String(255))
|
||||||
|
|
||||||
shipments = relationship("Shipment", back_populates="proposal")
|
shipments = relationship("Shipment", back_populates="proposal")
|
||||||
|
|
||||||
|
|
||||||
@ -112,8 +110,8 @@ class Puck(Base):
|
|||||||
__tablename__ = 'pucks'
|
__tablename__ = 'pucks'
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
puck_name = Column(String, index=True)
|
puck_name = Column(String(255), index=True)
|
||||||
puck_type = Column(String)
|
puck_type = Column(String(255))
|
||||||
puck_location_in_dewar = Column(Integer)
|
puck_location_in_dewar = Column(Integer)
|
||||||
|
|
||||||
# Foreign keys and relationships
|
# Foreign keys and relationships
|
||||||
@ -126,7 +124,7 @@ class Sample(Base):
|
|||||||
__tablename__ = 'samples'
|
__tablename__ = 'samples'
|
||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||||
sample_name = Column(String, index=True) # Matches `sample_name` in data creation
|
sample_name = Column(String(255), index=True)
|
||||||
position = Column(Integer) # Matches `position` in data creation script
|
position = Column(Integer) # Matches `position` in data creation script
|
||||||
data_collection_parameters = Column(JSON, nullable=True)
|
data_collection_parameters = Column(JSON, nullable=True)
|
||||||
|
|
||||||
@ -139,13 +137,13 @@ class Sample(Base):
|
|||||||
class Slot(Base):
|
class Slot(Base):
|
||||||
__tablename__ = "slots"
|
__tablename__ = "slots"
|
||||||
|
|
||||||
id = Column(String, primary_key=True, index=True)
|
id = Column(Integer, primary_key=True, index=True)
|
||||||
qr_code = Column(String, unique=True, index=True)
|
qr_code = Column(String(255), unique=True, index=True)
|
||||||
label = Column(String)
|
label = Column(String(255))
|
||||||
qr_base = Column(String, nullable=True)
|
qr_base = Column(String(255), nullable=True)
|
||||||
occupied = Column(Boolean, default=False)
|
occupied = Column(Boolean, default=False)
|
||||||
needs_refill = Column(Boolean, default=False)
|
needs_refill = Column(Boolean, default=False)
|
||||||
dewar_unique_id = Column(String, ForeignKey('dewars.unique_id'), nullable=True)
|
dewar_unique_id = Column(String(255), ForeignKey('dewars.unique_id'), nullable=True)
|
||||||
dewar = relationship("Dewar", back_populates="slot")
|
dewar = relationship("Dewar", back_populates="slot")
|
||||||
events = relationship("LogisticsEvent", back_populates="slot")
|
events = relationship("LogisticsEvent", back_populates="slot")
|
||||||
|
|
||||||
@ -155,7 +153,7 @@ class LogisticsEvent(Base):
|
|||||||
id = Column(Integer, primary_key=True, index=True)
|
id = Column(Integer, primary_key=True, index=True)
|
||||||
dewar_id = Column(Integer, ForeignKey('dewars.id'))
|
dewar_id = Column(Integer, ForeignKey('dewars.id'))
|
||||||
slot_id = Column(Integer, ForeignKey('slots.id'))
|
slot_id = Column(Integer, ForeignKey('slots.id'))
|
||||||
event_type = Column(String, index=True)
|
event_type = Column(String(255), index=True)
|
||||||
timestamp = Column(DateTime, default=datetime.utcnow)
|
timestamp = Column(DateTime, default=datetime.utcnow)
|
||||||
dewar = relationship("Dewar", back_populates="events")
|
dewar = relationship("Dewar", back_populates="events")
|
||||||
slot = relationship("Slot", back_populates="events")
|
slot = relationship("Slot", back_populates="events")
|
||||||
@ -165,7 +163,7 @@ class SampleEvent(Base):
|
|||||||
|
|
||||||
id = Column(Integer, primary_key=True, index=True)
|
id = Column(Integer, primary_key=True, index=True)
|
||||||
sample_id = Column(Integer, ForeignKey('samples.id'))
|
sample_id = Column(Integer, ForeignKey('samples.id'))
|
||||||
event_type = Column(String, index=True)
|
event_type = Column(String(255), index=True)
|
||||||
timestamp = Column(DateTime, default=datetime.utcnow)
|
timestamp = Column(DateTime, default=datetime.utcnow)
|
||||||
|
|
||||||
sample = relationship("Sample", back_populates="events")
|
sample = relationship("Sample", back_populates="events")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user