My project teams designate a project root via environment variable and then build a defined directory structure beneath. This allows each developer to build their environments wherever it suits their needs and desires while providing a consistent path for project paths:
C:\ | |
Users | |
chris.grenz | |
projects | <- The projects root defined in PROJECTS_ROOT |
BI | |
TEST_123 | <- An individual environment named TEST_123 |
build | <- All things build related. For us, build.gradle scripts. |
db | |
MDR | |
data | <- Static data to be loaded when the database is built. |
ddl | <- DDL scripts to create the structure of the database. |
sp | <- Procedural SQL for stored procs and UDFs. |
EDW | |
ODS | |
etl | <- ETL packages, scripts, and resources. |
test | <- All things testing. This is NOT included in the production build. |
wiki | <- When we use DBFit, this is the root of the wiki. |
tools | <- The binaries (and source) of the utilities the environment depends on (excluding large shared tools like SQL Server). |
gradle | |
dbfit |