Prepare for migrating data_stores
This commit is contained in:
parent
a32f9a9458
commit
efc37ee59f
|
@ -15,6 +15,7 @@ class DataStoreModel(db.Model):
|
||||||
spec_id = db.Column(db.String)
|
spec_id = db.Column(db.String)
|
||||||
user_id = db.Column(db.String, nullable=True)
|
user_id = db.Column(db.String, nullable=True)
|
||||||
file_id = db.Column(db.Integer, db.ForeignKey('file.id'), nullable=True)
|
file_id = db.Column(db.Integer, db.ForeignKey('file.id'), nullable=True)
|
||||||
|
document_id = db.Column(db.Integer, db.ForeignKey('document.id'), nullable=True)
|
||||||
value = db.Column(db.String)
|
value = db.Column(db.String)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ class DocumentModel(db.Model):
|
||||||
task_spec = db.Column(db.String, nullable=True)
|
task_spec = db.Column(db.String, nullable=True)
|
||||||
irb_doc_code = db.Column(db.String, nullable=False) # Code reference to the documents.xlsx reference file.
|
irb_doc_code = db.Column(db.String, nullable=False) # Code reference to the documents.xlsx reference file.
|
||||||
# TODO: Fix relationship with data_store table, then add this back in
|
# TODO: Fix relationship with data_store table, then add this back in
|
||||||
# data_stores = relationship(DataStoreModel, cascade="all,delete", backref="file")
|
data_stores = relationship(DataStoreModel, cascade="all,delete", backref="document")
|
||||||
md5_hash = db.Column(UUID(as_uuid=True), unique=False, nullable=False)
|
md5_hash = db.Column(UUID(as_uuid=True), unique=False, nullable=False)
|
||||||
data = deferred(db.Column(db.LargeBinary)) # Don't load it unless you have to.
|
data = deferred(db.Column(db.LargeBinary)) # Don't load it unless you have to.
|
||||||
# TODO: Determine whether size is used (in frontend/bpmn)
|
# TODO: Determine whether size is used (in frontend/bpmn)
|
||||||
|
|
|
@ -9,8 +9,9 @@ from alembic import op
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
from sqlalchemy.exc import IntegrityError
|
from sqlalchemy.exc import IntegrityError
|
||||||
|
|
||||||
from crc.models.file import FileModel, FileDataModel, DocumentModel
|
|
||||||
from crc import app
|
from crc import app
|
||||||
|
from crc.models.data_store import DataStoreModel
|
||||||
|
from crc.models.file import FileModel, FileDataModel, DocumentModel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,6 +22,13 @@ branch_labels = None
|
||||||
depends_on = None
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def update_data_store(file_id, document_id, session):
|
||||||
|
data_stores = session.query(DataStoreModel).filter(DataStoreModel.file_id == file_id).all()
|
||||||
|
for data_store in data_stores:
|
||||||
|
data_store.document_id = document_id
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
bind = op.get_bind()
|
bind = op.get_bind()
|
||||||
session = sa.orm.Session(bind=bind)
|
session = sa.orm.Session(bind=bind)
|
||||||
|
@ -67,4 +75,4 @@ def upgrade():
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
def downgrade():
|
||||||
pass
|
op.execute('DELETE FROM document;')
|
||||||
|
|
|
@ -39,7 +39,11 @@ def upgrade():
|
||||||
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
||||||
sa.ForeignKeyConstraint(['workflow_id'], ['workflow.id'], ),
|
sa.ForeignKeyConstraint(['workflow_id'], ['workflow.id'], ),
|
||||||
)
|
)
|
||||||
|
op.add_column('data_store', sa.Column('document_id', sa.Integer(), nullable=True))
|
||||||
|
op.create_foreign_key('document_id_key', 'data_store', 'document', ['document_id'], ['id'])
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
def downgrade():
|
||||||
op.drop_table('document')
|
op.drop_table('document')
|
||||||
|
# op.drop_column('data_store', 'document_id')
|
||||||
|
# op.drop_constraint('document_id_key', 'data_store', type_='foreignkey')
|
||||||
|
|
Loading…
Reference in New Issue