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.orm import sessionmaker
|
||||
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)
|
||||
|
||||
Base = declarative_base()
|
||||
|
@ -9,9 +9,9 @@ class Shipment(Base):
|
||||
__tablename__ = "shipments"
|
||||
|
||||
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_status = Column(String)
|
||||
shipment_status = Column(String(255))
|
||||
comments = Column(String(200), nullable=True)
|
||||
contact_person_id = Column(Integer, ForeignKey("contact_persons.id"))
|
||||
return_address_id = Column(Integer, ForeignKey("addresses.id"))
|
||||
@ -27,11 +27,10 @@ class ContactPerson(Base):
|
||||
__tablename__ = "contact_persons"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||
firstname = Column(String)
|
||||
lastname = Column(String)
|
||||
phone_number = Column(String)
|
||||
email = Column(String)
|
||||
|
||||
firstname = Column(String(255))
|
||||
lastname = Column(String(255))
|
||||
phone_number = Column(String(255))
|
||||
email = Column(String(255))
|
||||
shipments = relationship("Shipment", back_populates="contact_person")
|
||||
|
||||
|
||||
@ -39,23 +38,23 @@ class Address(Base):
|
||||
__tablename__ = "addresses"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||
street = Column(String)
|
||||
city = Column(String)
|
||||
zipcode = Column(String)
|
||||
country = Column(String)
|
||||
street = Column(String(255))
|
||||
city = Column(String(255))
|
||||
zipcode = Column(String(255))
|
||||
country = Column(String(255))
|
||||
|
||||
shipments = relationship("Shipment", back_populates="return_address")
|
||||
|
||||
class DewarType(Base):
|
||||
__tablename__ = "dewar_types"
|
||||
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")
|
||||
|
||||
class DewarSerialNumber(Base):
|
||||
__tablename__ = "dewar_serial_numbers"
|
||||
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 = relationship("DewarType", back_populates="serial_numbers")
|
||||
|
||||
@ -64,16 +63,16 @@ class Dewar(Base):
|
||||
__tablename__ = "dewars"
|
||||
|
||||
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_serial_number_id = Column(Integer, ForeignKey("dewar_serial_numbers.id"), nullable=True)
|
||||
tracking_number = Column(String)
|
||||
status = Column(String)
|
||||
tracking_number = Column(String(255))
|
||||
status = Column(String(255))
|
||||
ready_date = Column(Date, nullable=True)
|
||||
shipping_date = Column(Date, nullable=True)
|
||||
arrival_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"))
|
||||
return_address_id = Column(Integer, ForeignKey("addresses.id"))
|
||||
contact_person_id = Column(Integer, ForeignKey("contact_persons.id"))
|
||||
@ -103,8 +102,7 @@ class Proposal(Base):
|
||||
__tablename__ = "proposals"
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||
number = Column(String)
|
||||
|
||||
number = Column(String(255))
|
||||
shipments = relationship("Shipment", back_populates="proposal")
|
||||
|
||||
|
||||
@ -112,8 +110,8 @@ class Puck(Base):
|
||||
__tablename__ = 'pucks'
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True, autoincrement=True)
|
||||
puck_name = Column(String, index=True)
|
||||
puck_type = Column(String)
|
||||
puck_name = Column(String(255), index=True)
|
||||
puck_type = Column(String(255))
|
||||
puck_location_in_dewar = Column(Integer)
|
||||
|
||||
# Foreign keys and relationships
|
||||
@ -126,7 +124,7 @@ class Sample(Base):
|
||||
__tablename__ = 'samples'
|
||||
|
||||
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
|
||||
data_collection_parameters = Column(JSON, nullable=True)
|
||||
|
||||
@ -139,13 +137,13 @@ class Sample(Base):
|
||||
class Slot(Base):
|
||||
__tablename__ = "slots"
|
||||
|
||||
id = Column(String, primary_key=True, index=True)
|
||||
qr_code = Column(String, unique=True, index=True)
|
||||
label = Column(String)
|
||||
qr_base = Column(String, nullable=True)
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
qr_code = Column(String(255), unique=True, index=True)
|
||||
label = Column(String(255))
|
||||
qr_base = Column(String(255), nullable=True)
|
||||
occupied = 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")
|
||||
events = relationship("LogisticsEvent", back_populates="slot")
|
||||
|
||||
@ -155,7 +153,7 @@ class LogisticsEvent(Base):
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
dewar_id = Column(Integer, ForeignKey('dewars.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)
|
||||
dewar = relationship("Dewar", back_populates="events")
|
||||
slot = relationship("Slot", back_populates="events")
|
||||
@ -165,7 +163,7 @@ class SampleEvent(Base):
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
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)
|
||||
|
||||
sample = relationship("Sample", back_populates="events")
|
||||
|
Loading…
x
Reference in New Issue
Block a user