Beispiel #1
0
class CrcPURCHASE(db.Model):
    """Represents a CrcPURCHASE record."""
    def __init__(self):
        pass

    __tablename__ = 'crcPURCHASE'
    id = db.Column(db.Integer(15, unsigned=True),
                   nullable=False,
                   primary_key=True,
                   autoincrement=True)
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                          db.ForeignKey(Bibrec.id),
                          nullable=False,
                          server_default='0')
    id_crcVENDOR = db.Column(db.Integer(15, unsigned=True),
                             db.ForeignKey(CrcVENDOR.id),
                             nullable=False,
                             server_default='0')
    ordered_date = db.Column(db.DateTime,
                             nullable=False,
                             server_default='1900-01-01 00:00:00')
    expected_date = db.Column(db.DateTime,
                              nullable=False,
                              server_default='1900-01-01 00:00:00')
    price = db.Column(db.String(20), nullable=False, server_default='0')
    status = db.Column(db.String(20), nullable=False, server_default='')
    notes = db.Column(db.Text, nullable=True)
    bibrec = db.relationship(Bibrec, backref='purchases')
    vendor = db.relationship(CrcVENDOR, backref='purchases')
Beispiel #2
0
class CrcLOANREQUEST(db.Model):
    """Represents a CrcLOANREQUEST record."""
    def __init__(self):
        pass
    __tablename__ = 'crcLOANREQUEST'
    id = db.Column(db.Integer(15, unsigned=True), nullable=False,
                primary_key=True,
                autoincrement=True)
    id_crcBORROWER = db.Column(db.Integer(15, unsigned=True),
                db.ForeignKey(CrcBORROWER.id), nullable=False, server_default='0')
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                db.ForeignKey(Bibrec.id),
                nullable=False, server_default='0')
    barcode = db.Column(db.String(30), db.ForeignKey(CrcITEM.barcode), nullable=False,
                server_default='')
    period_of_interest_from = db.Column(db.DateTime,
                nullable=False,
                server_default='1900-01-01 00:00:00')
    period_of_interest_to = db.Column(db.DateTime,
                nullable=False,
                server_default='1900-01-01 00:00:00')
    status = db.Column(db.String(20), nullable=False,
                server_default='')
    notes = db.Column(db.Text, nullable=True)
    request_date = db.Column(db.DateTime, nullable=False,
                server_default='1900-01-01 00:00:00')
    borrower = db.relationship(CrcBORROWER, backref='loanrequests')
    bibrec = db.relationship(Bibrec, backref='loanrequests')
    item = db.relationship(CrcITEM, backref='loanrequests')
Beispiel #3
0
class CrcBORROWER(db.Model):
    """Represents a CrcBORROWER record."""
    def __init__(self):
        pass

    __tablename__ = 'crcBORROWER'
    id = db.Column(db.Integer(15, unsigned=True),
                   nullable=False,
                   primary_key=True,
                   autoincrement=True)
    ccid = db.Column(db.Integer(15, unsigned=True),
                     nullable=True,
                     unique=True,
                     server_default=None)
    name = db.Column(db.String(255),
                     nullable=False,
                     server_default='',
                     index=True)
    email = db.Column(db.String(255),
                      nullable=False,
                      server_default='',
                      index=True)
    phone = db.Column(db.String(60), nullable=True)
    address = db.Column(db.String(60), nullable=True)
    mailbox = db.Column(db.String(30), nullable=True)
    borrower_since = db.Column(db.DateTime,
                               nullable=False,
                               server_default='1900-01-01 00:00:00')
    borrower_until = db.Column(db.DateTime,
                               nullable=False,
                               server_default='1900-01-01 00:00:00')
    notes = db.Column(db.Text, nullable=True)
class OaiREPOSITORY(db.Model):
    """Represents a OaiREPOSITORY record."""
    __tablename__ = 'oaiREPOSITORY'
    id = db.Column(db.MediumInteger(9, unsigned=True),
                   nullable=False,
                   primary_key=True,
                   autoincrement=True)
    setName = db.Column(db.String(255), nullable=False, server_default='')
    setSpec = db.Column(db.String(255), nullable=False, server_default='')
    setCollection = db.Column(db.String(255),
                              nullable=False,
                              server_default='')
    setDescription = db.Column(db.Text, nullable=False)
    setDefinition = db.Column(db.Text, nullable=False)
    setRecList = db.Column(db.iLargeBinary, nullable=True)
    last_updated = db.Column(db.DateTime,
                             nullable=False,
                             server_default='1970-01-01 00:00:00')
    p1 = db.Column(db.Text, nullable=False)
    f1 = db.Column(db.Text, nullable=False)
    m1 = db.Column(db.Text, nullable=False)
    p2 = db.Column(db.Text, nullable=False)
    f2 = db.Column(db.Text, nullable=False)
    m2 = db.Column(db.Text, nullable=False)
    p3 = db.Column(db.Text, nullable=False)
    f3 = db.Column(db.Text, nullable=False)
    m3 = db.Column(db.Text, nullable=False)
Beispiel #5
0
class Bibdocfsinfo(db.Model):
    """Represents a Bibdocfsinfo record."""
    __tablename__ = 'bibdocfsinfo'

    id_bibdoc = db.Column(db.MediumInteger(9, unsigned=True),
                          db.ForeignKey(Bibdoc.id),
                          primary_key=True,
                          nullable=False,
                          autoincrement=False)
    version = db.Column(db.TinyInteger(4, unsigned=True),
                        primary_key=True,
                        nullable=False,
                        autoincrement=False)
    format = db.Column(db.String(50),
                       primary_key=True,
                       nullable=False,
                       index=True)
    last_version = db.Column(db.Boolean, nullable=False, index=True)
    cd = db.Column(db.DateTime, nullable=False, index=True)
    md = db.Column(db.DateTime, nullable=False, index=True)
    checksum = db.Column(db.Char(32), nullable=False)
    filesize = db.Column(db.BigInteger(15, unsigned=True),
                         nullable=False,
                         index=True)
    mime = db.Column(db.String(100), nullable=False, index=True)
    master_format = db.Column(db.String(50))
class LnkENTRY(db.Model):
    """Represents a LnkENTRY record."""
    __tablename__ = 'lnkENTRY'

    id = db.Column(db.Integer(15, unsigned=True),
                   primary_key=True,
                   nullable=False)
    origin_url = db.Column(db.String(100), nullable=False)
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                          db.ForeignKey(Bibrec.id),
                          nullable=False)
    additional_properties = db.Column(db.Binary)
    type = db.Column(db.String(30), nullable=False, index=True)
    status = db.Column(db.String(30),
                       nullable=False,
                       server_default='PENDING',
                       index=True)
    insert_time = db.Column(db.DateTime,
                            server_default='1900-01-01 00:00:00',
                            index=True)

    @property
    def title(self):
        try:
            return db.object_session(self).query(LnkENTRYURLTITLE).\
                filter(db.and_(
                    LnkENTRYURLTITLE.url==self.origin_url,
                    LnkENTRYURLTITLE.title<>"",
                    LnkENTRYURLTITLE.broken==0)).first().title
        except:
            return self.origin_url
Beispiel #7
0
class Goto(db.Model):
    """Represents a Goto record."""
    __tablename__ = 'goto'
    label = db.Column(db.String(150), primary_key=True)
    plugin = db.Column(db.String(150), nullable=False)
    parameters = db.Column(db.Text, nullable=False)
    creation_date = db.Column(db.DateTime, nullable=False, index=True)
    modification_date = db.Column(db.DateTime, nullable=False, index=True)
class LnkADMINURL(db.Model):
    """Represents a LnkADMINURL record."""
    __tablename__ = 'lnkADMINURL'

    id = db.Column(db.Integer(15, unsigned=True),
                   primary_key=True,
                   nullable=False)
    url = db.Column(db.String(100), nullable=False, unique=True)
    list = db.Column(db.String(30), nullable=False, index=True)
Beispiel #9
0
class WapCACHE(db.Model):
    """Represents a WapCACHE record."""
    __tablename__ = 'wapCACHE'

    object_name = db.Column(db.String(120), primary_key=True, nullable=False)
    object_key = db.Column(db.String(120), primary_key=True, nullable=False)
    object_value = db.Column(db.Text)  #FIXME LongText
    object_status = db.Column(db.String(120), index=True)
    last_updated = db.Column(db.DateTime, nullable=False, index=True)
class AccROLE(db.Model):
    """Represents a AccROLE record."""
    __tablename__ = 'accROLE'
    id = db.Column(db.Integer(15, unsigned=True),
                   primary_key=True,
                   autoincrement=True)
    name = db.Column(db.String(32), unique=True, nullable=True)
    description = db.Column(db.String(255), nullable=True)
    firerole_def_ser = db.Column(db.iBinary, nullable=True)
    firerole_def_src = db.Column(db.Text, nullable=True)
Beispiel #11
0
class BsrMETHOD(db.Model):
    """Represents a BsrMETHOD record."""
    __tablename__ = 'bsrMETHOD'

    id = db.Column(db.MediumInteger(9, unsigned=True),
                   primary_key=True,
                   nullable=False)
    name = db.Column(db.String(20), nullable=False, unique=True)
    definition = db.Column(db.String(255), nullable=False)
    washer = db.Column(db.String(255), nullable=False)
class AccARGUMENT(db.Model):
    """Represents a AccARGUMENT record."""
    __tablename__ = 'accARGUMENT'
    id = db.Column(
        db.Integer(15),  # , unsigned=True),
        primary_key=True,
        autoincrement=True)
    keyword = db.Column(db.String(32), nullable=True)
    value = db.Column(db.String(255), nullable=True)
    __table_args__ = (db.Index('KEYVAL', keyword,
                               value), db.Model.__table_args__)
Beispiel #13
0
class CrcILLREQUEST(db.Model):
    """Represents a CrcILLREQUEST record."""
    def __init__(self):
        pass
    __tablename__ = 'crcILLREQUEST'
    id = db.Column(db.Integer(15, unsigned=True), nullable=False,
                primary_key=True,
                autoincrement=True)
    id_crcBORROWER = db.Column(db.Integer(15, unsigned=True),
                db.ForeignKey(CrcBORROWER.id),
                nullable=False,
                server_default='0')
    barcode = db.Column(db.String(30), db.ForeignKey(CrcITEM.barcode),
                nullable=False,
                server_default='')
    period_of_interest_from = db.Column(db.DateTime,
                nullable=False,
                server_default='1900-01-01 00:00:00')
    period_of_interest_to = db.Column(db.DateTime,
                nullable=False,
                server_default='1900-01-01 00:00:00')
    id_crcLIBRARY = db.Column(db.Integer(15, unsigned=True),
                db.ForeignKey(CrcLIBRARY.id), nullable=False,
                server_default='0')
    request_date = db.Column(db.DateTime, nullable=False,
                server_default='1900-01-01 00:00:00')
    expected_date = db.Column(db.DateTime, nullable=False,
                server_default='1900-01-01 00:00:00')
    arrival_date = db.Column(db.DateTime, nullable=False,
                server_default='1900-01-01 00:00:00')
    due_date = db.Column(db.DateTime, nullable=False,
                server_default='1900-01-01 00:00:00')
    return_date = db.Column(db.DateTime, nullable=False,
                server_default='1900-01-01 00:00:00')
    status = db.Column(db.String(20), nullable=False,
                server_default='')
    cost = db.Column(db.String(30), nullable=False,
                server_default='')
    budget_code = db.Column(db.String(60), nullable=False,
                server_default='')
    item_info = db.Column(db.Text, nullable=True)
    request_type = db.Column(db.Text, nullable=True)
    borrower_comments = db.Column(db.Text, nullable=True)
    only_this_edition = db.Column(db.String(10), nullable=False,
                server_default='')
    library_notes = db.Column(db.Text, nullable=True)
    overdue_letter_number = db.Column(db.Integer(3, unsigned=True),
                                      nullable=False, server_default='0')
    overdue_letter_date = db.Column(db.DateTime, nullable=False,
                                    server_default='1900-01-01 00:00:00')
    borrower = db.relationship(CrcBORROWER, backref='illrequests')
    item = db.relationship(CrcITEM, backref='illrequests')
    library = db.relationship(CrcLIBRARY, backref='illrequests')
Beispiel #14
0
class BsrMETHODNAME(db.Model):
    """Represents a BsrMETHODNAME record."""
    __tablename__ = 'bsrMETHODNAME'

    id_bsrMETHOD = db.Column(db.MediumInteger(9, unsigned=True),
                             db.ForeignKey(BsrMETHOD.id),
                             primary_key=True,
                             nullable=False,
                             autoincrement=False)
    ln = db.Column(db.String(5), primary_key=True, nullable=False)
    type = db.Column(db.String(3), primary_key=True, nullable=False)
    value = db.Column(db.String(255), nullable=False)
class SeqSTORE(db.Model):
    """Represents a SeqSTORE record."""
    __tablename__ = 'seqSTORE'

    id = db.Column(db.Integer(8), primary_key=True, nullable=False)
    seq_name = db.Column(db.String(15))
    seq_value = db.Column(db.String(20))

    __table_args__ = (db.Index('seq_name_value',
                               seq_name,
                               seq_value,
                               unique=True), db.Model.__table_args__)
class AccACTION(db.Model):
    """Represents a AccACTION record."""
    __tablename__ = 'accACTION'
    id = db.Column(db.Integer(15, unsigned=True),
                   primary_key=True,
                   autoincrement=True)
    name = db.Column(db.String(32), unique=True, nullable=True)
    description = db.Column(db.String(255), nullable=True)
    allowedkeywords = db.Column(db.String(255), nullable=True)
    optional = db.Column(db.Enum('yes', 'no'),
                         nullable=False,
                         server_default='no')
class HstBATCHUPLOAD(db.Model):
    """Represents a HstBATCHUPLOAD record."""
    __tablename__ = 'hstBATCHUPLOAD'
    id = db.Column(db.Integer(15, unsigned=True), nullable=False,
                primary_key=True, autoincrement=True)
    user = db.Column(db.String(50), nullable=False, index=True)
    submitdate = db.Column(db.DateTime, nullable=False)
    filename = db.Column(db.String(255), nullable=False)
    execdate = db.Column(db.DateTime, nullable=False)
    id_schTASK = db.Column(db.Integer(15, unsigned=True),
                db.ForeignKey(SchTASK.id), nullable=False)
    batch_mode = db.Column(db.String(15), nullable=False)
    task = db.relationship(SchTASK, backref='batchuploads')
Beispiel #18
0
class AuditLogging(db.Model):
    __tablename__ = "bwlAUDITLOGGING"
    id = db.Column(db.Integer, primary_key=True)
    action = db.Column(db.String(255), nullable=False)
    time = db.Column(db.DateTime, nullable=False)
    user = db.Column(db.String(255), nullable=False)

    def __init__(self, action, time, user):
        self.action = action
        self.time = time
        self.user = user

    def __repr__(self):
        return "<Task(%s, %s, %s)>" % (self.action, self.time, self.user)
Beispiel #19
0
class WebDepositDraft(db.Model):
    """Represents a deposition draft."""
    __tablename__ = 'depDRAFT'
    uuid = db.Column(db.String(36),
                     db.ForeignKey(Workflow.uuid),
                     primary_key=True)
    step = db.Column(db.Integer(15, unsigned=True),
                     primary_key=True,
                     autoincrement=False)
    form_type = db.Column(db.String(45), nullable=False)
    form_values = db.Column(db.JSON, nullable=False)
    status = db.Column(db.Integer(15, unsigned=True), autoincrement=False)
    timestamp = db.Column(db.DateTime, nullable=False)
    workflow = db.relationship(Workflow, backref='drafts')
class LnkENTRYURLTITLE(db.Model):
    """Represents a LnkENTRYURLTITLE record."""
    __tablename__ = 'lnkENTRYURLTITLE'

    id = db.Column(db.Integer(15, unsigned=True),
                   primary_key=True,
                   nullable=False)
    url = db.Column(db.String(100), nullable=False, unique=True)
    title = db.Column(db.String(100), nullable=False, index=True)
    manual_set = db.Column(db.TinyInteger(1),
                           nullable=False,
                           server_default='0')
    broken_count = db.Column(db.Integer(5), server_default='0')
    broken = db.Column(db.TinyInteger(1), nullable=False, server_default='0')
Beispiel #21
0
class WorkflowLogging(db.Model):
    __tablename__ = "bwlWORKFLOWLOGGING"
    id = db.Column(db.Integer, primary_key=True)
    workflow_name = db.Column(db.String(255), nullable=False)
    data = db.Column(db.String(255), nullable=False)
    created = db.Column(db.DateTime, nullable=False)

    def __init__(self, workflow_name, data, created):
        self.workflow_name = workflow_name
        self.data = data
        self.created = created

    def __repr__(self):
        return "<Task(%i, %s, %s, %s)>" % (self.id, self.workflow_name,
                                           self.data, self.created)
class JrnISSUE(db.Model):
    """Represents a JrnISSUE record."""
    __tablename__ = 'jrnISSUE'
    id_jrnJOURNAL = db.Column(db.MediumInteger(9, unsigned=True),
                              db.ForeignKey(JrnJOURNAL.id),
                              nullable=False,
                              primary_key=True)
    issue_number = db.Column(db.String(50),
                             nullable=False,
                             server_default='',
                             primary_key=True)
    issue_display = db.Column(db.String(50), nullable=False, server_default='')
    date_released = db.Column(db.DateTime, nullable=True)
    date_announced = db.Column(db.DateTime, nullable=True)
    journal = db.relationship(JrnJOURNAL, backref='issues')
Beispiel #23
0
class CrcVENDOR(db.Model):
    """Represents a CrcVENDOR record."""
    def __init__(self):
        pass

    __tablename__ = 'crcVENDOR'
    id = db.Column(db.Integer(15, unsigned=True),
                   nullable=False,
                   primary_key=True,
                   autoincrement=True)
    name = db.Column(db.String(80), nullable=False, server_default='')
    address = db.Column(db.String(255), nullable=False, server_default='')
    email = db.Column(db.String(255), nullable=False, server_default='')
    phone = db.Column(db.String(30), nullable=False, server_default='')
    notes = db.Column(db.Text, nullable=True)
class OaiHARVESTLOG(db.Model):
    """Represents a OaiHARVESTLOG record."""
    __tablename__ = 'oaiHARVESTLOG'
    id_oaiHARVEST = db.Column(db.MediumInteger(9, unsigned=True),
                              db.ForeignKey(OaiHARVEST.id),
                              nullable=False)
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                          db.ForeignKey(Bibrec.id),
                          nullable=False,
                          server_default='0')
    bibupload_task_id = db.Column(db.Integer(11),
                                  db.ForeignKey(SchTASK.id),
                                  nullable=False,
                                  server_default='0',
                                  primary_key=True)
    oai_id = db.Column(db.String(40),
                       nullable=False,
                       server_default='',
                       primary_key=True)
    date_harvested = db.Column(db.DateTime,
                               nullable=False,
                               server_default='1900-01-01 00:00:00',
                               primary_key=True)
    date_inserted = db.Column(db.DateTime,
                              nullable=False,
                              server_default='1900-01-01 00:00:00')
    inserted_to_db = db.Column(db.Char(1), nullable=False, server_default='P')
    bibrec = db.relationship(Bibrec, backref='harvestlogs')
    schtask = db.relationship(SchTASK)
Beispiel #25
0
class RnkDOWNLOADS(db.Model):
    """Represents a RnkDOWNLOADS record."""
    __tablename__ = 'rnkDOWNLOADS'
    id = db.Column(db.Integer,
                   primary_key=True,
                   nullable=False,
                   autoincrement=True)
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                          db.ForeignKey(Bibrec.id),
                          nullable=True)
    download_time = db.Column(db.DateTime,
                              nullable=True,
                              server_default='1900-01-01 00:00:00')
    client_host = db.Column(db.Integer(10, unsigned=True), nullable=True)
    id_user = db.Column(db.Integer(15, unsigned=True),
                        db.ForeignKey(User.id),
                        nullable=True)
    id_bibdoc = db.Column(db.MediumInteger(9, unsigned=True),
                          db.ForeignKey(Bibdoc.id),
                          nullable=True)
    file_version = db.Column(db.SmallInteger(2, unsigned=True), nullable=True)
    file_format = db.Column(db.String(50), nullable=True)
    bibrec = db.relationship(Bibrec, backref='downloads')
    bibdoc = db.relationship(Bibdoc, backref='downloads')
    user = db.relationship(User, backref='downloads')
Beispiel #26
0
class PidLog(db.Model):
    """
    Audit log of actions happening to persistent identifiers.

    This model is primarily used through PersistentIdentifier.log and rarely
    created manually.
    """
    __tablename__ = 'pidLOG'
    __table_args__ = (db.Index('idx_action', 'action'), )

    id = db.Column(db.Integer(15, unsigned=True), primary_key=True)
    """ Id of persistent identifier entry """

    id_pid = db.Column(
        db.Integer(15, unsigned=True),
        db.ForeignKey(PersistentIdentifier.id),
        nullable=True,
    )
    """ PID """

    timestamp = db.Column(db.DateTime(), nullable=False, default=datetime.now)
    """ Creation datetime of entry """

    action = db.Column(db.String(10), nullable=False)
    """ Action identifier """

    message = db.Column(db.Text(), nullable=False)
    """ Log message """
Beispiel #27
0
class CrcLOAN(db.Model):
    """Represents a CrcLOAN record."""
    def __init__(self):
        pass

    __tablename__ = 'crcLOAN'
    id = db.Column(db.Integer(15, unsigned=True),
                   nullable=False,
                   primary_key=True,
                   autoincrement=True)
    id_crcBORROWER = db.Column(db.Integer(15, unsigned=True),
                               db.ForeignKey(CrcBORROWER.id),
                               nullable=False,
                               server_default='0')
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                          db.ForeignKey(Bibrec.id),
                          nullable=False,
                          server_default='0')
    barcode = db.Column(db.String(30),
                        db.ForeignKey(CrcITEM.barcode),
                        nullable=False,
                        server_default='')
    loaned_on = db.Column(db.DateTime,
                          nullable=False,
                          server_default='1900-01-01 00:00:00')
    returned_on = db.Column(db.Date,
                            nullable=False,
                            server_default='0000-00-00')
    due_date = db.Column(db.DateTime,
                         nullable=False,
                         server_default='1900-01-01 00:00:00')
    number_of_renewals = db.Column(db.Integer(3, unsigned=True),
                                   nullable=False,
                                   server_default='0')
    overdue_letter_number = db.Column(db.Integer(3, unsigned=True),
                                      nullable=False,
                                      server_default='0')
    overdue_letter_date = db.Column(db.DateTime,
                                    nullable=False,
                                    server_default='1900-01-01 00:00:00')
    status = db.Column(db.String(20), nullable=False, server_default='')
    type = db.Column(db.String(20), nullable=False, server_default='')
    notes = db.Column(db.Text, nullable=True)
    borrower = db.relationship(CrcBORROWER, backref='loans')
    bibrec = db.relationship(Bibrec, backref='loans')
    item = db.relationship(CrcITEM, backref='loans')
Beispiel #28
0
class StaEVENT(db.Model):
    """Represents a StaEVENT record."""
    def __init__(self):
        pass

    __tablename__ = 'staEVENT'
    id = db.Column(db.String(255), nullable=False, primary_key=True)
    number = db.Column(db.SmallInteger(2, unsigned=True, zerofill=True),
                       nullable=False,
                       autoincrement=True,
                       primary_key=True,
                       unique=True)
    name = db.Column(db.String(255), nullable=True)
    creation_time = db.Column(db.TIMESTAMP,
                              nullable=False,
                              server_default=db.func.current_timestamp())
    cols = db.Column(db.String(255), nullable=True)
Beispiel #29
0
class ClsMETHOD(db.Model):
    """Represents a ClsMETHOD record."""
    def __init__(self):
        pass

    __tablename__ = 'clsMETHOD'
    id = db.Column(db.MediumInteger(9, unsigned=True), primary_key=True)  #,
    #autoincrement=True)
    name = db.Column(db.String(50),
                     nullable=False,
                     unique=True,
                     server_default='')
    location = db.Column(db.String(255), nullable=False, server_default='')
    description = db.Column(db.String(255), nullable=False, server_default='')
    last_updated = db.Column(db.DateTime,
                             nullable=False,
                             server_default='1900-01-01 00:00:00')
Beispiel #30
0
class CrcITEM(db.Model):
    """Represents a CrcITEM record."""
    def __init__(self):
        pass

    __tablename__ = 'crcITEM'
    barcode = db.Column(db.String(30),
                        nullable=False,
                        server_default='',
                        primary_key=True)
    id_bibrec = db.Column(db.MediumInteger(8, unsigned=True),
                          db.ForeignKey(Bibrec.id),
                          nullable=False,
                          server_default='0')
    id_crcLIBRARY = db.Column(db.Integer(15, unsigned=True),
                              db.ForeignKey(CrcLIBRARY.id),
                              nullable=False,
                              server_default='0')
    collection = db.Column(db.String(60), nullable=True)
    location = db.Column(db.String(60), nullable=True)
    description = db.Column(db.String(60), nullable=True)
    loan_period = db.Column(db.String(30), nullable=False, server_default='')
    status = db.Column(db.String(20), nullable=False, server_default='')
    expected_arrival_date = db.Column(db.String(60),
                                      nullable=False,
                                      server_default='')
    creation_date = db.Column(db.DateTime,
                              nullable=False,
                              server_default='1900-01-01 00:00:00')
    modification_date = db.Column(db.DateTime,
                                  nullable=False,
                                  server_default='1900-01-01 00:00:00')
    number_of_requests = db.Column(db.Integer(3, unsigned=True),
                                   nullable=False,
                                   server_default='0')