Play Framework 2.3 run driver specific evolutions - postgresql

In local development and in test I am using an in memory h2 driver. In production I am using a postgresql driver. Im having issues where i need to run a evolution query just for postgresql. Is there some way to do this? Thanks!

I'll rather suggest to use more appropriate tool to deal with database evolution/migration.
checkout http://flywaydb.org/

Related

What are the APIs heroku uses to manage postgres DB?

How the Heroku CLI tool manages DBs. What are the APIs they use? The tasks I am trying to do from the app are create/delete a postgres DB, create a dump, and import a dump using python code and not from the console or cli.
There is no publicly defined API for the Heroku Data products, unfortunately. That said, in my experience, the paths are fairly stable and can mostly be reasoned out. This CLI plugin might give you a head start on trying to work out the routes you'd need to hit in order to achieve your goals.

How do I choose a local MySQL version that will be compatible with our future switch to CloudSQL?

For simplicity and cost, we are starting our project using local MySQL running on our GCE instances. We will want to switch to CloudSQL some months down the road.
Any advice on avoiding MySQL version conflicts/challenges would be much appreciated!
The majority of the documentation is for MySQL 5.7 so as an advice I recommend you use this version and review migrating to cloudsql concept this is a guide that will guide you through how to migrate safely which migration methods exist and how to prepare you MySQL database.
Another advice which I can give you is make the tutorial migrating mysql to cloud using automated workflow tutorial this guide also says that the any MySQL database running version 5.6 or 5.7 allows you to take advantage of the Cloud SQL automated migration workflow this tutorial is important to know how works and how deploy a source MySQL database on Compute Engine. The sql page will give you more tutorials if you want to learn more.
Finally I suggest to you check de sql pricing to be aware about the billing and also I suggest to you create a workspace with this you can have more transparency and more control over your billing charges by identifying and tuning up the services that are producing more log entries.
I hope all the information that I'm giving you are helpful.

Compatible Scala driver for Amazon DocumentDB

Do you know a Scala driver to MongoDB, which is also compatible to Amazon DocumentDB? In theory they all should be compatible, I am interested what works in practice. In particular, I plan to use reactivemongo.
https://mongodb.github.io/mongo-scala-driver/ is compatible with Amazon DocumentDB.
Main point is to properly use the RDS certificate (cannot be tested locally w/o tunnel), as indicated in the documentation.
mongodb.uri = "mongodb://${USER}:${PASSWORD}#${DOCDB_CLUSTER}${AWS_REGION}.docdb.amazonaws.com:27017/${DB_NAME}?ssl=true&keyStore=file:///path/on/local/fs/to/rds-ca-2015-root.jks&keyStorePassword=${KEYSTORE_PASS}&keyStoreType=JKS"

Play Framework Application and embedded Database packaging

I implemented a server application with Play Framework.
I built native packages for different Operating Systems (Linux, Windows, Mac OS X) with SBT Native Packager.
This application requires a NoSQL Database. In particular, I am using MongoDB. Is there a way to embed MongoDB binary/package in my native package? Is this the best practice? Or do you suggest to install MongoDB and my Play application with two different packages?
If it is not possible / recommended to embed MongoDB in a package, do you suggest another DBMS (for instance Nitrite Database)? Thanks
This is not really best practise. Play has H2 in-memory DB embedded but this is only intended for development (because it is quicker than something that reads/writes to disk as well).
You really want to have your Mongo (or whatever other data store you decide to use) instance running in a different process, and packaged, deployed, stopped, started separately from your Play application.
You could probably figure out how to package it with your Play application and then have some script run during app startup to setup the database and load any existing data in -dbpath ie. whenever you redeploy/restart your application. But then you would have to stop/redeploy your Mongo binaries each time you redeploy a code change. You may update your application several times over a year but you are unlikely going to want to update your Mongo binaries as often. I could go on, but don't do it. It is best practise to manage your data stores separately from your applications.

What's a good local database with Entity Framework

What would be a good choice for a local database to use with Entity Framework for an WPF application that needs local database.
I dont want to use MSSQL Server cos that'd be an overkill and or MSSQL CE cos few days back I was using SQL CE 3.5 and had all sorts of issues of it not supporting server generated IDs.
I've read MS Access has issues as well. and dont want to use SQLite either.
TIA
SQL Server Express sounds a good fit to me.
What about MySQL Embedded?
You can use either EF provider by Devart (it is a part of dotConnect for MySQL Professional), or the provider integrated into MySQL Connector /NET.