Use the dev database as the source for your project file. After all, the code written works with that database. If production is way different, the code will break anyway.
It's also a matter of what follows what. In general the following scenario is followed:
- in the beginning there is no production db, just dev db(s)
- the dev db is used to build the software. In the end, when the software is said to be 'releasable', the database reaches its final state
- the production database is setup like the dev db is, as the dev db is the database layout the software can work with.
when features have to be added:
- there is a production database, v1.0
- the dev db is modified, to make the new functionality possible. Every CHANGE is logged and written in SQL DDL migration scripts. These are important, as they've to be used to MIGRATE the production database to the new version. Migration is a tedious, important task, as it might take millions of records to be migrated so this should be done with care.
- the developers use the dev db to write hte new functionality.
- the db change scripts are now first tested in a test environment so the migration can be tested, tweaked etc.
- when the migration scripts are finalized, the production database is migrated to the new layout
- the new software is then deployed.
Rule of thumb: the production database is off limits. It's production, you don't develop on production databases, they're the result of work which is finalized.