【发布时间】:2017-09-30 04:22:34
【问题描述】:
我目前正在尝试使用 sqlalchemy 库生成 SQL 表。
我有两个表:t_volume 和 t_volume_snapshot
class Volume(...):
""" Represent a volume element"""
__tablename__ = "t_volume"
created_at = Column(DateTime, nullable=False)
deleted_at = Column(DateTime, nullable=False)
volume_id = Column(String(length=255), nullable=False, primary_key=True)
volume_name = Column(String(length=255), nullable=False)
volume_type = Column(String(length=255), nullable=False)
volume_disk_space = Column(Integer, nullable=False)
class VolumeSnapshot(...):
""" Represent a volume snapshot element"""
__tablename__ = "t_volume_snapshot"
created_at = Column(DateTime, nullable=False)
deleted_at = Column(DateTime, nullable=False)
volume_snapshot_id = Column(String(length=255), nullable=False, primary_key=True)
volume_snapshot_name = Column(String(length=255), nullable=False)
volume_id = Column(String(length=255), ForeignKey("t_volume.volume_id"))
我希望卷快照使用值 volume_id 引用卷。我试图将 t_volume_snapshot.volume_id 列定义为指向 t_volume.volume_id 的 ForeignKey,但我得到的只是
OperationalError: (OperationalError) (1005, "Can't create table 'db.t_volume_snapshot' (errno: 150)")
我一般不习惯 sqlalchemy 和 SQL,所以我可能遗漏了一些东西......
【问题讨论】:
标签: python sql python-2.7 sqlalchemy