Getting Started: Model First
When you :doc:`Code First <getting-started>`, you start with developing Objects and then map them onto your database. When you :doc:`Model First <getting-started-models>`, you are modelling your application using tools (for example UML) and generate database schema and PHP code from this model. When you have a :doc:`Database First <getting-started-database>`, then you already have a database schema and generate the corresponding PHP code from it.
This getting started guide is in development.
There are applications when you start with a high-level description of the model using modelling tools such as UML. Modelling tools could also be Excel, XML or CSV files that describe the model in some structured way. If your application is using a modelling tool, then the development workflow is said to be a Model First approach to Doctrine2.
In this workflow you always change the model description and then regenerate both PHP code and database schema from this model.