For me an important insight of hexagonal architecture is to treat the database as either an implementation detail or a first class citizen. If you need a reliable store of data to provide your application, it doesn't matter externally how it looks. If you need to run crystal reports or support OLAP, you had better treat it as a consumer with its own stories and functional tests. Of course there can be public and private parts of the database, treated differently.