In my understanding, platform_id should be part of the executions table, but not the testplan_tcversions table, since a single test case could be executed against multiple platforms.
This table defines what should be tested within Test Plan. Consider the case that some TCs are related to one platform and cannot be executed to others.