2016-04-15 6 views
0

Ich migriere eine Anwendung von Grails nach Play Framework und versuche gerade herauszufinden, wie man die Projektstruktur am besten organisiert.Play Framework und Slick Projektarchitektur

Ich möchte Slick Codegen zusammen mit Flyway für Migrationen verwenden, weil ich alle Migrationen im Auge behalten möchte (eine Lösung ähnlich wie bei Rails Migrations wäre perfekt).

Ich sehe, dass Play Framework hat das Play-Slick-Modul, aber von dem, was ich bemerkt habe, geschieht alles wie pure Black-Magic.

Ich sah eine example on GitHub, in der Slick Modeling, Play Framework und Flyway Migrations 3 separate SBT-Module sind, was vollkommen Sinn macht, falls wir uns von Play Framework entfernen wollen.

Jetzt ist meine Frage: Was ist der beste Architekturansatz für eine Play Framework App?

Hinweis: Ich bin ein Neuling in Play Framework und Scala.

+0

gibt es einige zusätzliche ansers hier: http: // stackoverflow.com/questions/36616810/play-framework-2-5-x-scala-slick-implementation-style – nemoo

Antwort

0

Ich habe vor einiger Zeit einen Beitrag über die Verwendung von Play + slick + mysql. Is hat die Minimalstruktur zu arbeiten, aber die man fand ich mehr richtig (Ich denke, dieser Punkt subjektiv sein wird): http://pedrorijo.com/blog/play-slick/

oder der Quellcode bei https://github.com/pedrorijo91/play-slick3-steps

+0

Wie gehen Sie mit Migrationen um? Erzeugt Slick erste DDL- und SQL-Updates für die Datenbank? Ich suche nach einer Code First-Lösung und Hibernate ist einfach zu komplex und schwer für den Job. – Driver

+0

Entwicklungen sind sql basiert: https://github.com/pedrorijo91/play-slick3-steps/blob/master/conf/evolutions/default/1.sql oder lesen Sie es auf http://pedrorijo.com/blog/play -slick/# add-database-evolution – pedrorijo91

+0

Ok. Momentan verwende ich das Grails Database Migration Plugin. 'grails dbm-gorm-diff' und ich führe den generierten SQL-Code manuell auf der Datenbank aus, weil ich glaube, dass Automatisierungen schlecht sind. Dies ist das Szenario, das ich wollte: Ändern Sie die Model-Klassen, generieren Sie das SQL Update Script gegen das aktuelle Schema in der Datenbank und führen Sie es aus – Driver