Skip to content

Differences between 0.2 and 0.3

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

Joplin differences

  • Joplin configuration is no longer located in the project.clj file. Instead your code is responsible for providing the Joplin configuration map. See 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).

  • JDBC migrators are passed a db with a new shape, the connection info you need to pass to clojure.java.jdbc is now located in the :db-spec key.

  • 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