From e570c0aab6f7b776cb8c6ce3c7d64c585deb66a0 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Fri, 2 Feb 2018 20:58:32 +0100
Subject: [PATCH] Fix doubling tables in n-ary relationships with 0,1 / 1,1

---
 parser.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/parser.js b/parser.js
index da8a1d5..6d028fd 100644
--- a/parser.js
+++ b/parser.js
@@ -192,9 +192,11 @@ class ErDiags
 		// Pass 2: parse associations, add foreign keys when cardinality is 0,1 or 1,1
 		this.associations.forEach( a => {
 			let newTableAttrs = [ ];
+			let hasZeroOne = false;
 			a.entities.forEach( e => {
 				if (['?','1'].includes(e.card[0]))
 				{
+					hasZeroOne = true;
 					// Foreign key apparition (for each entity in association minus current one, for each identifying attribute)
 					a.entities.forEach( e2 => {
 						if (e2.name == e.name)
@@ -223,7 +225,7 @@ class ErDiags
 					});
 				}
 			});
-			if (newTableAttrs.length > 1)
+			if (!hasZeroOne && newTableAttrs.length > 1)
 			{
 				// Ok, really create a new table
 				let newTable = {
-- 
2.44.0