Search code examples
databaseplayframework-2.0playframework-evolutions

Creating database tables programmatically in evolutions kingdom


Imagine a program which operates large hierarhical datasets. The program stores each new such dataset in a dedicated table. The table is created accordingly to what data types the dataset has in it. Well, nothing very unusual. This is a trivial situation. But how do I make this kind of arrangements in Play 2.0, where the evolution paradigm rules? I just cannot start thinking of it.

UPDATE

It turned out, there is no simple way. Ok. The round way.

Is it possible to:

1) Make the program write the evolutions files itself and apply them automatically? Will it cause some distortion with Play's philosophy?

2) Use another DB system in a separate thread and do not use the Play's innate databsae functionality? Would that hurt much?

UPDATE 2

I am reading though MongoDB Casbah documentation and I like it a lot. I am planning to use this with my Play application. Is there any contra-evidence for using MongoDB via Casbah with Play?


Solution

  • Well, after some more experiments, I have concluded to use MongoDB (actually, I had to choose from a wide variety of document-oriented DBMSs, and decided to start with MongoDB). I have established a MongoDB server, incorporated it's Java driver, Casbah (the driver's Scala-wrapper) and all the necessary dependencies into my project, and all works fine. No need for SQL or the evolutions paradigm, whatsoever.

    And I am not using any parts of Play that work with database (the config file, anorm, and what's else is there), just ignoring that, and doing all Mongo.

    All works JUST FINE!