Yeah, so question looks like I'm kidding, but it turns out that there are "architects" that are convinced about first choice.
Introduction: Some team X got a project from team Y, that have failed project. Team X should finish the project and add more features. But Customer left some guys from team Y to help develop the project. Customer is sure that Y knows what to do, since much of the functionality is working. That is truth. Team X decided to slightly change database schema to be able to add new features also it decided to change grouping strategy.
Domain: There are some Entities that should be grouped. Approach 1 is to have field 'group' in table ENTITY and write there ids of Entities like "1,3,41". This means that entity 1 has "1,3,41" in its column and entity 3 has "1,3,41" and the same for 41. Approach 2 is to have another table 'GROUP' and foreign key in table 'ENTITY' to the 'GROUP'.
I would love to help team X.
My arguments:
1) If group will need (in future) some properties it would be much easier to have this in one table row and do not duplicate that data in many entities.
2) Also parsing field to get list of linked entities and then fetching them could be difficult to support in future. Joining statements that include foreign keys is preferable in this case.
3) Moving to ORM in future might be painful.
4) ... your suggestion ...
The main problem is that customer relies on left architect very much, at least he knows domain.
Question: What are other arguments to help team X? Are there anything that Y will have in opposite? (Actually he suggest to copy-paste his code, since it is working...)