Mysql workbench 反向工程后,MySQL Workbench将1:1关系更改为1:n

Mysql workbench 反向工程后,MySQL Workbench将1:1关系更改为1:n,mysql-workbench,Mysql Workbench,我正在使用MYSQL工作台。在前线工程师之后,我把所有的桌子都放在了phpadmin里 但反向引擎将1:1转换为1:n 如何解决这个问题?我认为这是MySQL Workbench中正向和反向工程过程的局限性。关系的基数应该决定用于生成的外键的索引类型。因此,基数为1时需要唯一索引(或主键,根据定义是唯一的)。非唯一索引允许1..n基数。但是,不能使用外键对0..1基数进行建模,因为外键总是至少需要一个条目(毕竟,这是它们的全部用途) 如果您愿意,您可以创建一个bug报告()来改进它。是的,我

我正在使用MYSQL工作台。在前线工程师之后,我把所有的桌子都放在了phpadmin里

但反向引擎将1:1转换为1:n


如何解决这个问题?

我认为这是MySQL Workbench中正向和反向工程过程的局限性。关系的基数应该决定用于生成的外键的索引类型。因此,基数为1时需要唯一索引(或主键,根据定义是唯一的)。非唯一索引允许1..n基数。但是,不能使用外键对0..1基数进行建模,因为外键总是至少需要一个条目(毕竟,这是它们的全部用途)


如果您愿意,您可以创建一个bug报告()来改进它。

是的,我在使用django建立1:1关系模型时遇到了这个问题,如下所示:

class Server(models.Model):
    ...
    asset = models.OneToOneField('Asset', on_delete=models.CASCADE, null=True, blank=True)
在python makemigrations和python migrate之后,我运行mysql workbench(ubuntu16.04上的6.3)反向工程,如下所示:

请解释“正向工程师”和“反向工程师”的含义。我留下这些是为了不把问题搞砸。逆向工程:正向工程: