1. A non-transitory machine-readable storage medium comprising instructions which, when implemented by one or more machines, cause the one or more machines to perform operations comprising: examining relationships among a plurality of database schemas to identify cross-schema dependencies, each cross-schema dependency being a dependency between two different database schemas; constructing a cycle-free graph of the schema dependencies, removing any cyclic dependencies by eliminating any dependency from a first schema to a second schema if a dependency from the second schema to the first schema already exists in the cycle-free graph; using a first delivery mechanism to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, by traversing the cycle-free graph and delivering to the first of the plurality of schemas any software objects, of the first database type, corresponding to a traversed node in the cycle-free graph; using a second delivery mechanism to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, by traversing the cycle-free graph and delivering to the second of the plurality of schemas any software object, of the second database type, corresponding to a traversed node in the cycle-free graph; using the cycle-free graph; and delaying deployment of any software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph until first use of the software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph.