Как правильно смоделировать БД? flask-SQLAlchemy
Разрабатываю автоматизацию обмена между двумя веб-приложениями. В каждой из них есть товары, и мне необходимо выстроить связь между товаром в приложении А и приложении Б (физически это один и тот же товар). Привязка идет по приложению А, т.е товар А - один, а к нему может быть несколько товаров из приложения Б. Как сделать в БД: сделать две модели для товаров из разных приложений, примерно как у меня сейчас:
class MsProduct(db.Model):
__tablename__ = 'ms_products'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
ms_id = db.Column(db.String(255))
title = db.Column(db.String(255))
isbundle = db.Column(db.Boolean)
pxp_products = db.relationship('PxpProduct', back_populates='ms_product', lazy=True)
class PxpProduct(db.Model):
__tablename__ = 'pxp_products'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
pxp_id = db.Column(db.String(255))
ms_product_id = db.Column(db.Integer, db.ForeignKey('ms_products.id'))
ms_product = db.relationship('MsProduct', back_populates='pxp_products', lazy=True)
Или же записать это в одной таблице? Меня в этом варианте смущает только то, что ms_id сам по себе уникальный (т.к будет существовать только один товар А), а в таком случае придется несколько раз его повторять в базе. Предусматривается, что я добавляю одновременно и pxp_products и ms_product