Skip to content

Differences between 0.2 and 0.3

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

Migrator differences

  • :sql migrator files can now be either .sql or .edn. See here for details.

  • .sql files now needs a marker --;; between different SQL statements in the same file. For more details see here. Please note that not all databases require this, for instance PSQL seems to be fine without.

  • For :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 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. Configuration map, loading configuration.

  • 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.

  • Joplin now supports specifying ragtimes conflict strategies when migrating.

Ragtime differences

Joplin 0.3 depends on ragtime 0.5, which contains some breaking changes.

  • The main protocol that describes a datastore is now called ragtime.protocols/DataStore (was ragtime.core/Migratable).