You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
2.4 KiB
Python

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
Authors : Jean-Damien Généro
Affiliation : French National Center for Scientific Research (CNRS)
Assigned at the Centre de recherches historiques (CRH, UMR 8558)
Date : 2022-10-11
Update :
"""
from peewee import *
# db = SqliteDatabase('actes_princiers.db')
from app.app import db
class Institution(Model):
id_institution = IntegerField(primary_key=True)
full_label = TextField()
inst_label = TextField()
art_inst = TextField()
inst_place = TextField()
inst_rank = TextField()
inst_type = TextField()
class Meta:
database = db
db_table = 'Institution'
class State(Model):
id_state = IntegerField(primary_key=True)
state_label = TextField()
class Meta:
database = db
db_table = 'State'
class Production_place(Model):
id_place = IntegerField(primary_key=True)
placename = TextField()
class Meta:
database = db
db_table = 'Production_place'
class Diplo_type(Model):
id_diplo_type = IntegerField(primary_key=True)
diplo_label = TextField()
class Meta:
database = db
db_table = 'Diplo_type'
class Document(Model):
id_document = IntegerField(primary_key=True)
inst_doc = ForeignKeyField(Institution, backref='documents')
collection_doc = TextField()
class Meta:
database = db
db_table = 'Document'
class Acte(Model):
id_acte = IntegerField(primary_key=True)
numb_acte = TextField()
date_time = TextField() # YYYY-MM-DD
date = TextField() # verbose
prod_place_acte = ForeignKeyField(Production_place, backref='actes')
analysis = TextField()
doc_acte = ForeignKeyField(Document, backref='actes')
ref_acte = TextField() # cote
state_doc = ForeignKeyField(State, backref='actes')
diplo_type_acte = ForeignKeyField(Diplo_type, backref='actes')
class Meta:
database = db
db_table = 'Acte'
class Individual(Model):
id_indiv = IntegerField(primary_key=True)
name_indiv = TextField()
role_indiv = TextField()
class Meta:
database = db
db_table = 'Individual'
class Duke(Model):
id_duke = IntegerField(primary_key=True)
house = TextField()
indiv_duke = ForeignKeyField(Individual, backref='dukes')
birth = TextField()
reign = TextField()
death = TextField()
class Meta:
database = db
db_table = 'Duke'
class Produced_by(Model):
id_produced_by = IntegerField(primary_key=True)
produced_by_acte = ForeignKeyField(Acte, backref='produced_bys')
produced_by_prince = ForeignKeyField(Duke, backref='produced_bys')
class Meta:
database = db
db_table = 'Produced_by'