Это действительно зависит от того, что вы предпочитаете. Вы получите ответы, которые скажут вам, что лучше сначала спроектировать вашу объектную модель (программисты скажут вам об этом), а затем есть те, которые скажут вам сначала спроектировать вашу модель данных (администраторы базы данных).
В конце концов, правильный путь - это путь, который вам наиболее удобен. Если вы чувствуете, что собираетесь выполнять большую часть манипуляций с данными в коде, тогда вам будет полезно начать с объектной модели. Если вы чувствуете, что будете выполнять большинство операций с данными, тогда было бы неплохо начать с базы данных.
Что касается контроля версий, если вы хотите все версии, то вам нужно будет создать файл sql, который будет иметь то, что вам нужно для создания вашей базы данных с нуля. Затем, каждый раз, когда вы изменяете или обновляете схему базы данных или данные, вы должны также поместить этот файл в систему контроля версий. Я также рекомендую соглашение об именах, которое включает дату и время файла в файл, чтобы было легко определить, в каком порядке применять файлы при работе с нуля или в любой момент времени после этого.
И, конечно, вам также необходимо создать версию исходного кода, но это само собой разумеется.