Code coverage report for code/data/migrations/migration-mixin.coffee

Statements: 100% (18 / 18)      Branches: 100% (2 / 2)      Functions: 100% (3 / 3)      Lines: 100% (9 / 9)      Ignored: none     

All files » code/data/migrations/ » migration-mixin.coffee
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20      1     18     18     18 2 2 2   16 18  
# Implement version: xx and doUpdate: (data) ->  in your migrations.
# and mixin this module
 
module.exports =
  # TODO: possibly use semver https://github.com/npm/node-semver
  needsUpdate: (data) ->
    (data.version or 0) < @version
 
  name: ->
    "#{@version} – #{@date} : #{@description}"
 
  update: (data) ->
    if @needsUpdate(data)
      @doUpdate(data)
      log.info "✔ upgradded #{@name()}"
      data.version = @version
    else
      log.info "  skipped : #{@name()}"
    data