Source code for pyiron_base.database.tables

# coding: utf-8
# Copyright (c) Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
# Distributed under the terms of "New BSD License", see the LICENSE file.
"""
Classes defining the shape of pyiron's database tables.
"""

from sqlalchemy import (
    Column,
    DateTime,
    Float,
    Integer,
    MetaData,
    String,
    Table,
)

from pyiron_base.database.sqlcolumnlength import (
    CHEMICALFORMULA_STR_LENGTH,
    COMPUTER_STR_LENGTH,
    HAMILTON_STR_LENGTH,
    HAMVERSION_STR_LENGTH,
    JOB_STR_LENGTH,
    PROJECT_PATH_STR_LENGTH,
    PROJECT_STR_LENGTH,
    STATUS_STR_LENGTH,
    SUBJOB_STR_LENGTH,
    USERNAME_STR_LENGTH,
)

__author__ = "Murat Han Celik, Liam Huber"
__copyright__ = (
    "Copyright 2020, Max-Planck-Institut für Eisenforschung GmbH"
    " - Computational Materials Design (CM) Department"
)
__version__ = "0.0"
__maintainer__ = "Liam Huber"
__email__ = "huber@mpie.de"
__status__ = "development"
__date__ = "Sep, 2021"


[docs] def get_historical_table( table_name: str, metadata: MetaData, extend_existing: bool = True ) -> Table: """The historical table.""" return Table( table_name, metadata, Column("id", Integer, primary_key=True, autoincrement=True), Column("parentid", Integer), Column("masterid", Integer), Column("projectpath", String(PROJECT_PATH_STR_LENGTH)), Column("project", String(PROJECT_STR_LENGTH)), Column("job", String(JOB_STR_LENGTH)), Column("subjob", String(SUBJOB_STR_LENGTH)), Column("chemicalformula", String(CHEMICALFORMULA_STR_LENGTH)), Column("status", String(STATUS_STR_LENGTH)), Column("hamilton", String(HAMILTON_STR_LENGTH)), Column("hamversion", String(HAMVERSION_STR_LENGTH)), Column("username", String(USERNAME_STR_LENGTH)), Column("computer", String(COMPUTER_STR_LENGTH)), Column("timestart", DateTime), Column("timestop", DateTime), Column("totalcputime", Float), extend_existing=extend_existing, )