Giter VIP home page Giter VIP logo

redmine_sla's Introduction

redmine_sla

Redmine SLA - Issue Patch

Overview

Digest

Redmine SLA plugin gives the possibility of managing service levels. It provides flexible configuration of calendars, times and terms. It calculates types of response times for project trackers.

Features

These are the features of this plugin :

  • Definition at plugin level
    • SLA update step
    • SLA calculation time zone
    • SLA log level (but no log currently)
  • Manage at the global administration ( with full API support )
    • SLAs
    • SLA Types
    • SLA Statuses
    • SLA Holidays
    • SLA Calendars withs SLA Schedules
    • SLA Calendars' Holidays
    • SLA Levels
    • SLA Terms
  • Rights by rôles
    • Manage SLA in project
    • View SLA in issue ( with link to SLA Calendar & SLA Level )
    • And therefore the lack of access to SLAs
  • At the project's configuration
    • Specifies SLA for each tracker
  • For the issues
    • In list
      • Filter on SLAs
      • Viewing SLA Columns
    • In view
      • Summary by type
      • Responsive display
  • For the time log
    • In list
      • Filter on SLAs
      • Viewing SLA Columns
  • Tasks
    • Build fixture base on CSV file
    • Update SLA manualy or by crontab

Localisations

  • English
  • French

Todo

Here is a list of possible evolutions without prioritization :

  • Time zone by projets
  • Ability to sort lists
  • Have a corrector for a status log issue
  • Clear cache completely or after a given date
  • Mask SLA plugin columns and filters if module is disabled or user doesn't have access
  • Improve display and editing week' schedules of calendars ( e.g. with https://github.com/starsirius/day-schedule-selector.git )
  • Display of public holidays per year in nested ## form in calendars
  • Ability to export and import all or part of each element
  • Improve display and editing of terms in tabular form
  • Propose schedule editions in a more graphical format
  • Issues list groupable by SLA level or SLA respect
  • Manage alert thresholds for sending notifications
  • Add summary in the issues report
  • Write functional tests

NOTE: And many others: if you have ideas or time, don't hesitate to participate!

Howto install / uninstall

Prerequisites

Name requirement
Redmine >= 5.0
Ruby >= 2.7
Rails >= 6.1
Database PostgreSQL >= 11

NOTE: It is important to note that, to calculate the SLAs, the plugin uses the features of Posgtres, including the Pl/Pgsql procedures. And for this, in config/application.rb file, you must add this line config.active_record.schema_format = :sql in RedmineApp::Application section.

REMINDER: Make sure your database datestyle is set to ISO (Postgresql default setting). You can set it using: ALTER DATABASE "redmine_db" SET datestyle="ISO,MDY".

TIP: Prefer the global configuration of the time zone on "Etc/UTC" ( and with config.active_record.default_timezone = :local in RedmineApp::Application section of config/application.rb file ).

Install

  1. Download plugin and copy plugin folder redmine_sla go to Redmine's plugins folder
  2. Goto redmine root folder to install necessary gems with bundle install
  3. Launch install plugin to create tables, functions and view rake redmine:plugins:migrate NAME=redmine_sla
  4. Restart your application server (apache with passenger, nginx with passenger, unicorn, puma, etc.) and Additionals is ready to use.

More information about installation of Redmine plugins, you can find in the official Redmine plugin documentation.

Uninstall

  1. Launch uninstall plugin to drop tables, functions and view rake redmine:plugins:migrate NAME=redmine_sla VERSION=0
  2. Go to plugins folder, delete plugin folder redmine_sla rm -r redmine_more_previews
  3. restart server f.i. sudo /etc/init.d/apache2 restart

## More informations

sources / thanks

redmine_sla's People

Contributors

likehopper avatar

Stargazers

Quentin Aymard avatar  avatar  avatar mouson avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

redmine_sla's Issues

Error on install to migrate db

Hi,
can you help me?
I have a problem when try to install the plugin, you can read the log at follow:

I use this version of redmine:
Environment:
Redmine version 5.0.5.stable
Ruby version 3.1.3-p185 (2022-11-24) [x86_64-linux]
Rails version 6.1.7.2
Environment production
Database adapter PostgreSQL

Log Error:

$ rake redmine:plugins:migrate NAME=redmine_sla
rake aborted!
LoadError: cannot load such file -- listen
internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb:37:in require' <internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in require'
internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb:37:in require' <internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in require'
/opt/redmine-5.0.5/config/environments/development.rb:58:in block in <top (required)>' /opt/redmine-5.0.5/config/environments/development.rb:5:in <top (required)>'
internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb:37:in require' <internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in require'
/opt/redmine-5.0.5/config/environment.rb:16:in <top (required)>' <internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in require'
internal:/usr/local/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb:37:in `require'
Tasks: TOP => redmine:plugins:migrate => environment
(See full trace by running task with --trace)

error when i want migrate

Hello,

When i want to run the rake command for migration, we get this error:

redmine@redmine:~/redmine$ rake redmine:plugins:migrate NAME=redmine_sla
rake aborted!
LoadError: cannot load such file -- listen
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38: in require' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in block in require'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:299:in load_dependency' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in require'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ evented_file_update_checker.rb:6:in <top (required)>' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38: in require'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in block in require' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:299:in load_dependency'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in require' /opt/redmine/redmine-5.0.5/config/environments/development.rb:58:in block in <t op (required)>'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/railtie.rb:234 :in instance_eval' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/railtie.rb:234 :in configure'
/opt/redmine/redmine-5.0.5/config/environments/development.rb:5:in <top (requir ed)>' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38: in require'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in block in require' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:299:in load_dependency'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in require' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/engine.rb:571: in block (2 levels) in class:Engine'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/engine.rb:570: in each' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/engine.rb:570: in block in class:Engine'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/initializable. rb:32:in instance_exec' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/initializable. rb:32:in run'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/initializable. rb:61:in block in run_initializers' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/initializable. rb:50:in each'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/initializable. rb:50:in tsort_each_child' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/initializable. rb:60:in run_initializers'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/application.rb :391:in initialize!' /opt/redmine/redmine-5.0.5/config/environment.rb:16:in <top (required)>'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/polyglot-0.3.5/lib/polyglot.rb:65:in req uire'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/zeitwerk-2.6.8/lib/zeitwerk/kernel.rb:38: in require' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in block in require'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:299:in load_dependency' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/activesupport-6.1.7.2/lib/active_support/ dependencies.rb:332:in require'
/opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/application.rb :367:in require_environment!' /opt/redmine/.rvm/gems/ruby-3.1.4/gems/railties-6.1.7.2/lib/rails/application.rb :533:in block in run_tasks_blocks'
Tasks: TOP => redmine:plugins:migrate => environment
(See full trace by running task with --trace)

The system information:
Environment:
Redmine version 5.0.5.stable
Ruby version 3.1.4-p223 (2023-03-30) [x86_64-linux]
Rails version 6.1.7.2
Environment production
Database adapter PostgreSQL
Mailer queue ActiveJob::QueueAdapters::AsyncAdapter
Mailer delivery smtp
Redmine settings:
Redmine theme Redminex_theme
SCM:
Git 2.30.2
Filesystem
Redmine plugins:
000_redmine_x_ux_upgrade 1.3.11
additional_tags 1.0.7
additionals 3.0.8
redmine_agile 1.6.4
redmine_automation 3.0.8
redmine_checklists 3.1.22
redmine_contacts 4.3.7
redmine_contacts_helpdesk 4.2.1
redmine_issue_templates 1.1.2
redmine_reporting 3.0.8
redmine_subtasks_inherited_fields 1.2.0
redmine_x_lightbox2 1.0.0
redmine_xlsx_format_issue_exporter 0.2.0
`

ActionView::Template::Error (PG::UndefinedFunction: ERROR: function sla_get_date(timestamp with time zone) does not exist

After i created a new Issue with the plugin active i get the following error message

It is running on Docker, the database is from mysql imported with

pgloader mysql://root:xxx123@localhost/redmine postgresql://postgres:xxx123@localhost/redmine

I checked, the data and the functions are there, maybe the are called wrong, because all my date life in the "redmine" db?
Is the Databasename "redmine" the issue here?
The scheme of the sla_get_ funtions is public.

redmine-test-v5_0_7-redmine-1 | I, [2023-12-22T17:25:07.782310 #1] INFO -- : Rendered issues/show.html.erb within layouts/base (Duration: 10.7ms | Allocations: 9303)
redmine-test-v5_0_7-redmine-1 | I, [2023-12-22T17:25:07.782522 #1] INFO -- : Rendered layout layouts/base.html.erb (Duration: 11.0ms | Allocations: 9332)
redmine-test-v5_0_7-redmine-1 | I, [2023-12-22T17:25:07.782827 #1] INFO -- : Completed 500 Internal Server Error in 40ms (ActiveRecord: 14.0ms | Allocations: 29058)
redmine-test-v5_0_7-redmine-1 |F, [2023-12-22T17:25:07.783592 #1] FATAL -- :
redmine-test-v5_0_7-redmine-1 | ActionView::Template::Error (PG::UndefinedFunction: ERROR: function sla_get_date(timestamp with time zone) does not exist
redmine-test-v5_0_7-redmine-1 |LINE 2: sla_get_date( "issues"."created_on" ),
redmine-test-v5_0_7-redmine-1 | ^
redmine-test-v5_0_7-redmine-1 |HINT: No function matches the given name and argument types. You might need to add explicit type casts.
redmine-test-v5_0_7-redmine-1 |QUERY: SELECT
redmine-test-v5_0_7-redmine-1 | sla_get_date( "issues"."created_on" ),
redmine-test-v5_0_7-redmine-1 | tracker_id,
redmine-test-v5_0_7-redmine-1 | project_id
redmine-test-v5_0_7-redmine-1 | FROM
redmine-test-v5_0_7-redmine-1 | issues
redmine-test-v5_0_7-redmine-1 | WHERE
redmine-test-v5_0_7-redmine-1 | id = p_issue_id
redmine-test-v5_0_7-redmine-1 | CONTEXT: PL/pgSQL function sla_get_level(integer) line 39 at SQL statement
redmine-test-v5_0_7-redmine-1 | ):
redmine-test-v5_0_7-redmine-1 | 1: <%
redmine-test-v5_0_7-redmine-1 | 2: if User.current.allowed_to?(:view_sla, @project, :global => true)
redmine-test-v5_0_7-redmine-1 | 3:
redmine-test-v5_0_7-redmine-1 | 4: sla_cache = SlaCache.find_or_new(issue.id)
redmine-test-v5_0_7-redmine-1 | 5:
redmine-test-v5_0_7-redmine-1 | 6: if ( !sla_cache.nil? && sla_cache.sla_level_id > 0 )
redmine-test-v5_0_7-redmine-1 | 7:
redmine-test-v5_0_7-redmine-1 |
redmine-test-v5_0_7-redmine-1 |plugins/redmine_sla/app/models/sla_cache.rb:40:in find_or_new' redmine-test-v5_0_7-redmine-1 |plugins/redmine_sla/app/views/sla_issue_helper/_show.html.erb:4 redmine-test-v5_0_7-redmine-1 | lib/redmine/hook/view_listener.rb:61:in block (2 levels) in render_on'
redmine-test-v5_0_7-redmine-1 | lib/redmine/hook/view_listener.rb:59:in map' redmine-test-v5_0_7-redmine-1 | lib/redmine/hook/view_listener.rb:59:in block in render_on'
redmine-test-v5_0_7-redmine-1 | lib/redmine/hook.rb:66:in block (2 levels) in call_hook' redmine-test-v5_0_7-redmine-1 | lib/redmine/hook.rb:66:in each'
redmine-test-v5_0_7-redmine-1 | lib/redmine/hook.rb:66:in block in call_hook' redmine-test-v5_0_7-redmine-1 | lib/redmine/hook.rb:63:in call_hook'
redmine-test-v5_0_7-redmine-1 | lib/redmine/hook.rb:101:in call_hook' redmine-test-v5_0_7-redmine-1 | app/views/issues/show.html.erb:81 redmine-test-v5_0_7-redmine-1 | app/controllers/issues_controller.rb:118:in block (2 levels) in show'
redmine-test-v5_0_7-redmine-1 | app/controllers/issues_controller.rb:110:in show' redmine-test-v5_0_7-redmine-1 | lib/redmine/sudo_mode.rb:61:in sudo_mode'

Problem with MySQL

Hello,

I have a problem with migration on MySQL:
[root@centos7 redmine]# bundle exec rake redmine:plugins:migrate NAME=redmine_sla RAILS_ENV=production
/opt/rh/rh-ruby25/root/usr/share/gems/gems/psych-3.1.0/lib/psych.rb:237: warning: already initialized constant Psych::LIBYAML_VERSION
/opt/rh/rh-ruby25/root/usr/share/ruby/psych.rb:232: warning: previous definition of LIBYAML_VERSION was here
== 202111112021001 CreateSlas: migrating ======================================
-- create_table(:slas, {})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
Mysql2::Error: BLOB/TEXT column 'name' used in key specification without a key length

Is there any chance to fix it?

missing column SLA_RESPECT_1

Hi, I get this error:

ERROR -- : Query::StatementInvalid: PG::UndefinedColumn: ERROR: column issues.sla_respect_1 does no
LINE 1: ... FROM issue_statuses WHERE is_closed=FALSE)) AND (issues.sla...

any clue?

thanks

ysql2::Error: BLOB/TEXT column 'name' used in key specification without a key length

Hi, i am trying to install but getting the following error, kindly support

[dynotechsupport@secure redmine]$ RAILS_ENV=production bundle exec rake redmine:plugins:migrate NAME=redmine_sla
== 202111112021001 CreateSlas: migrating ======================================
-- create_table(:slas, {})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: BLOB/TEXT column 'name' used in key specification without a key length
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in _query' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in block in query'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in handle_interrupt' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in query'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:206:in block (2 levels) in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:205:in block in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in block (2 levels) in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in handle_interrupt'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in block in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in handle_interrupt'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in block in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/notifications/instrumenter.rb:24:in instrument' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:204:in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/database_statements.rb:52:in execute'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:322:in create_table' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/schema_statements.rb:81:in create_table'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:929:in block in method_missing' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:897:in block in say_with_time'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:897:in say_with_time' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:918:in method_missing'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration/compatibility.rb:35:in create_table' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration/compatibility.rb:100:in create_table'
/home/dynotechsupport/redmine/plugins/redmine_sla/db/migrate/202111112021001_create_slas.rb:4:in change' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:867:in exec_migration'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:851:in block (2 levels) in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:850:in block in migrate'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in with_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:849:in migrate'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1037:in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1329:in block in execute_migration_in_transaction'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1382:in ddl_transaction' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1328:in execute_migration_in_transaction'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1302:in each' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1302:in migrate_without_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1251:in block in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1401:in block in with_advisory_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1416:in block in with_advisory_lock_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in with_connection'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1416:in with_advisory_lock_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1397:in with_advisory_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1251:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:468:in up'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1061:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:500:in migrate_plugin'
/home/dynotechsupport/redmine/lib/redmine/plugin.rb:441:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:452:in migrate'
/home/dynotechsupport/redmine/lib/tasks/redmine.rake:151:in block (3 levels) in <top (required)>' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/rake-13.0.6/exe/rake:27:in <top (required)>'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:58:in load' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:58:in kernel_load'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:23:in run' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:492:in exec'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor.rb:392:in dispatch' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:34:in dispatch'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/base.rb:485:in start' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:28:in start'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/exe/bundle:37:in block in <top (required)>' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/friendly_errors.rb:117:in with_friendly_errors'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/exe/bundle:29:in <top (required)>' /opt/cpanel/ea-ruby27/root/usr/bin/bundle:23:in load'
/opt/cpanel/ea-ruby27/root/usr/bin/bundle:23:in `

'

Caused by:
ActiveRecord::StatementInvalid: Mysql2::Error: BLOB/TEXT column 'name' used in key specification without a key length
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in _query' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in block in query'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in handle_interrupt' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in query'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:206:in block (2 levels) in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:205:in block in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in block (2 levels) in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in handle_interrupt'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in block in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in handle_interrupt'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in block in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/notifications/instrumenter.rb:24:in instrument' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:204:in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/database_statements.rb:52:in execute'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:322:in create_table' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/schema_statements.rb:81:in create_table'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:929:in block in method_missing' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:897:in block in say_with_time'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:897:in say_with_time' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:918:in method_missing'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration/compatibility.rb:35:in create_table' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration/compatibility.rb:100:in create_table'
/home/dynotechsupport/redmine/plugins/redmine_sla/db/migrate/202111112021001_create_slas.rb:4:in change' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:867:in exec_migration'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:851:in block (2 levels) in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:850:in block in migrate'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in with_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:849:in migrate'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1037:in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1329:in block in execute_migration_in_transaction'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1382:in ddl_transaction' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1328:in execute_migration_in_transaction'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1302:in each' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1302:in migrate_without_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1251:in block in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1401:in block in with_advisory_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1416:in block in with_advisory_lock_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in with_connection'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1416:in with_advisory_lock_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1397:in with_advisory_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1251:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:468:in up'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1061:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:500:in migrate_plugin'
/home/dynotechsupport/redmine/lib/redmine/plugin.rb:441:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:452:in migrate'
/home/dynotechsupport/redmine/lib/tasks/redmine.rake:151:in block (3 levels) in <top (required)>' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/rake-13.0.6/exe/rake:27:in <top (required)>'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:58:in load' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:58:in kernel_load'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:23:in run' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:492:in exec'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor.rb:392:in dispatch' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:34:in dispatch'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/base.rb:485:in start' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:28:in start'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/exe/bundle:37:in block in <top (required)>' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/friendly_errors.rb:117:in with_friendly_errors'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/exe/bundle:29:in <top (required)>' /opt/cpanel/ea-ruby27/root/usr/bin/bundle:23:in load'
/opt/cpanel/ea-ruby27/root/usr/bin/bundle:23:in `

'

Caused by:
Mysql2::Error: BLOB/TEXT column 'name' used in key specification without a key length
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in _query' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in block in query'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in handle_interrupt' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in query'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:206:in block (2 levels) in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:205:in block in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:696:in block (2 levels) in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in handle_interrupt'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in block in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in handle_interrupt'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in synchronize' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:695:in block in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activesupport-6.1.7.2/lib/active_support/notifications/instrumenter.rb:24:in instrument' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_adapter.rb:687:in log'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:204:in execute' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/database_statements.rb:52:in execute'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:322:in create_table' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/mysql/schema_statements.rb:81:in create_table'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:929:in block in method_missing' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:897:in block in say_with_time'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:897:in say_with_time' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:918:in method_missing'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration/compatibility.rb:35:in create_table' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration/compatibility.rb:100:in create_table'
/home/dynotechsupport/redmine/plugins/redmine_sla/db/migrate/202111112021001_create_slas.rb:4:in change' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:867:in exec_migration'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:851:in block (2 levels) in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:850:in block in migrate'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in with_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:849:in migrate'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1037:in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1329:in block in execute_migration_in_transaction'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1382:in ddl_transaction' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1328:in execute_migration_in_transaction'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1302:in each' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1302:in migrate_without_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1251:in block in migrate' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1401:in block in with_advisory_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1416:in block in with_advisory_lock_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:462:in with_connection'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1416:in with_advisory_lock_connection' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1397:in with_advisory_lock'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1251:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:468:in up'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/activerecord-6.1.7.2/lib/active_record/migration.rb:1061:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:500:in migrate_plugin'
/home/dynotechsupport/redmine/lib/redmine/plugin.rb:441:in migrate' /home/dynotechsupport/redmine/lib/redmine/plugin.rb:452:in migrate'
/home/dynotechsupport/redmine/lib/tasks/redmine.rake:151:in block (3 levels) in <top (required)>' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/rake-13.0.6/exe/rake:27:in <top (required)>'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:58:in load' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:58:in kernel_load'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli/exec.rb:23:in run' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:492:in exec'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in invoke_command'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor.rb:392:in dispatch' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:34:in dispatch'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/vendor/thor/lib/thor/base.rb:485:in start' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/cli.rb:28:in start'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/exe/bundle:37:in block in <top (required)>' /home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/lib/bundler/friendly_errors.rb:117:in with_friendly_errors'
/home/dynotechsupport/.gem/ruby/ruby-2.7.8/gems/bundler-2.4.15/exe/bundle:29:in <top (required)>' /opt/cpanel/ea-ruby27/root/usr/bin/bundle:23:in load'
/opt/cpanel/ea-ruby27/root/usr/bin/bundle:23:in `

'
Tasks: TOP => redmine:plugins:migrate
(See full trace by running task with --trace)

db:migrate error with redmine 5.1.2

Dear likehopper,

I'm trying to migrate db : RAILS_ENV=production rake redmine:plugins:migrate NAME=redmine_sla

but i'm getting for 202111112021001:

Mysql2::Error: BLOB/TEXT column 'name' used in key specification without a key length (Mysql2::Error)

is it possible to tell me how to patch sql migration ?

THanks !

Can't install

Hello, after we install this plugin, we get this error. Can you help me?

App 2713508 output: Error: The application encountered the following error: expected file /opt/redmine/redmine-5.0.3/plugins/redmine_sla/app/models/sla_journal.rb to define constant SlaJournal, but didn't (Zeitwerk::NameError)
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader/callbacks.rb:25:in on_file_autoloaded' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/kernel.rb:28:in require'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader/helpers.rb:127:in const_get' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader/helpers.rb:127:in cget'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader.rb:239:in block (2 levels) in eager_load' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader/helpers.rb:41:in block in ls'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader/helpers.rb:27:in each' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader/helpers.rb:27:in ls'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader.rb:234:in block in eager_load' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader.rb:219:in synchronize'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader.rb:219:in eager_load' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader.rb:318:in each'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/zeitwerk-2.6.1/lib/zeitwerk/loader.rb:318:in eager_load_all' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/railties-6.1.7/lib/rails/application/finisher.rb:133:in block in '
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/railties-6.1.7/lib/rails/initializable.rb:32:in instance_exec' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/railties-6.1.7/lib/rails/initializable.rb:32:in run'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/railties-6.1.7/lib/rails/initializable.rb:61:in block in run_initializers' App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:228:in block in tsort_each'
App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:350:in block (2 levels) in each_strongly_connected_component' App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:431:in each_strongly_connected_component_from'
App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:349:in block in each_strongly_connected_component' App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:347:in each'
App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:347:in call' App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:347:in each_strongly_connected_component'
App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:226:in tsort_each' App 2713508 output: /opt/redmine/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/tsort.rb:205:in tsort_each'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/railties-6.1.7/lib/rails/initializable.rb:60:in run_initializers' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/railties-6.1.7/lib/rails/application.rb:391:in initialize!'
App 2713508 output: /opt/redmine/redmine-5.0.3/config/environment.rb:16:in ' App 2713508 output: [config.ru:3](http://config.ru:3/):in require'
App 2713508 output: config.ru:3:in block in ' App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/rack-2.2.4/lib/rack/builder.rb:125:in instance_eval'
App 2713508 output: /opt/redmine/.rvm/gems/ruby-2.7.2/gems/rack-2.2.4/lib/rack/builder.rb:125:in initialize' App 2713508 output: [config.ru:1](http://config.ru:1/):in new'
App 2713508 output: config.ru:1:in <main>' App 2713508 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in eval'
App 2713508 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:101:in preload_app' App 2713508 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:189:in block in module:App'
App 2713508 output: /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:397:in run_block_and_record_step_progress' App 2713508 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:188:in module:App'
App 2713508 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in <module:PhusionPassenger>' App 2713508 output: /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in

'
[ E 2023-06-07 10:32:57.0745 2713324/Tw age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /opt/redmine/redmine: The application encountered the following error: expected file /opt/redmine/redmine-5.0.3/plugins/redmine_sla/app/models/sla_journal.rb to define constant SlaJournal, but didn't (Zeitwerk::NameError)
Error ID: ce717fa5
Error details saved to: /tmp/passenger-error-RCF1t3.html

function modded to let plugin works

Hello, I had to modify the function sla_get_date( timespamp WITH TIME ZONE), I'm not getting where I have to modify my system to use the configuration u made.

Add screenshot

Adding screenshots on the plugin page or here in Github will be helpful for the new users.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.