Sha256: de707b7c8e3057c5aa4140140d728ec344f224b1fec0593d5cb4c29b0351b2ca

Contents?: true

Size: 970 Bytes

Versions: 11

Compression:

Stored size: 970 Bytes

Contents

# frozen_string_literal: true

require_relative "../../app/command"
require_relative "structure/dump"

module Hanami
  module CLI
    module Commands
      module App
        module DB
          # @api private
          class Migrate < App::Command
            desc "Migrates database"

            option :target, desc: "Target migration number", aliases: ["-t"]

            # @api private
            def call(target: nil, **)
              return true if Dir[File.join(app.root, "db/migrate/*.rb")].empty?

              measure "database #{database.name} migrated" do
                if target
                  run_migrations(target: Integer(target))
                else
                  run_migrations
                end

                true
              end
            end

            private

            def run_migrations(**options)
              database.run_migrations(**options)
            end
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
hanami-cli-2.1.1 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.1.0 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.1.0.rc3 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.1.0.rc2 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.1.0.rc1 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.1.0.beta2 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.1.0.beta1 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.0.3 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.0.2 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.0.1 lib/hanami/cli/commands/app/db/migrate.rb
hanami-cli-2.0.0 lib/hanami/cli/commands/app/db/migrate.rb