Skip to content

Differences between 0.2 and 0.3

Martin Trojer edited this page Aug 14, 2015 · 22 revisions

Joplin differences

  • Joplin configuration is no longer located in the project.clj file. Instead your code in responsible for providing the Joplin configuration map. There are plenty of examples (in the example project) on how to do this.

  • The joplin leiningen plugin has been removed, similar functionality can be achieved using lein aliases. See the example project for details.

  • The reset-db multimethod is removed.

  • The rollback-db multimethod now takes on more required argument (a number of a string of the ID to rollback to)

  • The create-migration multimethod now takes on more required argument (the name of the migration).

  • For SQL/JDBC migrators, the name of the migration table can now be set with the :migrations-table key in the :databases map.

  • For SQL/JDBC migrators a newer version of org.clojure/java.jdbc is used, and many functions has been moved to the clojure.java.jdbc.deprecated namespace.

  • Joplin now supports specifying ragtimes conflict strategies when migrating.

Ragtime differences

Joplin 0.3 depends on ragtime 0.5, which contains a number of breaking changes.

  • The main protocol that describes a datastore is now called 'DataStore' (was 'Migratable') and is located in the ragtime.protocols namespace.

  • SQL migrations can now be provided in 2 flavours, .edn and .sql files.

.sql files now needs a markers between different SQL statements. For more details see here