# HG changeset patch # User Nattee Niparnan # Date 2022-01-15 14:03:59 # Node ID f42556ce3209615c23f59335029dd6625bb98fd8 # Parent 7ceba92b053f3da1eadcfeef64f859c2f32d5558 update migration diff --git a/Gemfile.lock b/Gemfile.lock --- a/Gemfile.lock +++ b/Gemfile.lock @@ -370,4 +370,4 @@ ruby 3.1.0p0 BUNDLED WITH - 2.3.5 + 2.3.3 diff --git a/README.rdoc b/README.rdoc --- a/README.rdoc +++ b/README.rdoc @@ -53,9 +53,19 @@ 1. You have to reboot since RVM change a lots of system. 2. If you are using GUI version of Ubuntu, be sure to have Gnome Terminal (or any other terminal you are using) perform login every time. This can be done by mark the check box "Run command as a login shell" in Gnome terminal or by adding --login to bash. -=== 3. Install necessary package +=== 3. Install necessary package and nodejs + +First, we install required package via apt. + + cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip php-cli apache2 dirmngr gnupg apache2-dev - cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php-cli apache2 dirmngr gnupg apache2-dev +Since nodejs that comes with ubuntu 18.04 is very outdated, we need to install it manually. This follow the method outlined in https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04 under *Installing Node.js with Apt Using a NodeSource PPA* + + cd ~ + curl -sL https://deb.nodesource.com/setup_17.x -o nodesource_setup.sh + sudo bash nodesource_setup.sh + sudo apt install nodejs + === 4. Install cafe-grader diff --git a/db/migrate/001_create_users.rb b/db/migrate/001_create_users.rb --- a/db/migrate/001_create_users.rb +++ b/db/migrate/001_create_users.rb @@ -1,6 +1,6 @@ -class CreateUsers < ActiveRecord::Migration +class CreateUsers < ActiveRecord::Migration[4.2] def self.up - create_table :users do |t| + create_table :users, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :login, :string, :limit => 10 t.column :full_name, :string t.column :hashed_password, :string diff --git a/db/migrate/002_create_problems.rb b/db/migrate/002_create_problems.rb --- a/db/migrate/002_create_problems.rb +++ b/db/migrate/002_create_problems.rb @@ -1,6 +1,6 @@ -class CreateProblems < ActiveRecord::Migration +class CreateProblems < ActiveRecord::Migration[4.2] def self.up - create_table :problems do |t| + create_table :problems, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :name, :string, :limit => 30 t.column :full_name, :string t.column :full_score, :integer diff --git a/db/migrate/003_create_submissions.rb b/db/migrate/003_create_submissions.rb --- a/db/migrate/003_create_submissions.rb +++ b/db/migrate/003_create_submissions.rb @@ -1,6 +1,6 @@ -class CreateSubmissions < ActiveRecord::Migration +class CreateSubmissions < ActiveRecord::Migration[4.2] def self.up - create_table :submissions do |t| + create_table :submissions, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :user_id, :integer t.column :problem_id, :integer t.column :language_id, :integer diff --git a/db/migrate/004_create_languages.rb b/db/migrate/004_create_languages.rb --- a/db/migrate/004_create_languages.rb +++ b/db/migrate/004_create_languages.rb @@ -1,6 +1,6 @@ -class CreateLanguages < ActiveRecord::Migration +class CreateLanguages < ActiveRecord::Migration[4.2] def self.up - create_table :languages do |t| + create_table :languages, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :name, :string, :limit => 10 t.column :pretty_name, :string end diff --git a/db/migrate/005_add_index_to_submissions.rb b/db/migrate/005_add_index_to_submissions.rb --- a/db/migrate/005_add_index_to_submissions.rb +++ b/db/migrate/005_add_index_to_submissions.rb @@ -1,4 +1,4 @@ -class AddIndexToSubmissions < ActiveRecord::Migration +class AddIndexToSubmissions < ActiveRecord::Migration[4.2] def self.up add_index :submissions, [:user_id, :problem_id] end diff --git a/db/migrate/006_create_roles.rb b/db/migrate/006_create_roles.rb --- a/db/migrate/006_create_roles.rb +++ b/db/migrate/006_create_roles.rb @@ -1,10 +1,10 @@ -class CreateRoles < ActiveRecord::Migration +class CreateRoles < ActiveRecord::Migration[4.2] def self.up - create_table :roles do |t| + create_table :roles, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column 'name', :string end - create_table :roles_users, :id => false do |t| + create_table :roles_users, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column 'role_id', :integer t.column 'user_id', :integer end diff --git a/db/migrate/007_create_rights.rb b/db/migrate/007_create_rights.rb --- a/db/migrate/007_create_rights.rb +++ b/db/migrate/007_create_rights.rb @@ -1,12 +1,12 @@ -class CreateRights < ActiveRecord::Migration +class CreateRights < ActiveRecord::Migration[4.2] def self.up - create_table :rights do |t| + create_table :rights, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column 'name', :string t.column 'controller', :string t.column 'action', :string end - create_table :rights_roles, :id => false do |t| + create_table :rights_roles, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column 'right_id', :integer t.column 'role_id', :integer end diff --git a/db/migrate/008_create_tasks.rb b/db/migrate/008_create_tasks.rb --- a/db/migrate/008_create_tasks.rb +++ b/db/migrate/008_create_tasks.rb @@ -1,6 +1,6 @@ -class CreateTasks < ActiveRecord::Migration +class CreateTasks < ActiveRecord::Migration[4.2] def self.up - create_table :tasks do |t| + create_table :tasks, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column 'submission_id', :integer t.column 'created_at', :datetime end diff --git a/db/migrate/009_add_sessions.rb b/db/migrate/009_add_sessions.rb --- a/db/migrate/009_add_sessions.rb +++ b/db/migrate/009_add_sessions.rb @@ -1,6 +1,6 @@ -class AddSessions < ActiveRecord::Migration +class AddSessions < ActiveRecord::Migration[4.2] def self.up - create_table :sessions do |t| + create_table :sessions, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :session_id, :string t.column :data, :text t.column :updated_at, :datetime diff --git a/db/migrate/011_add_language_ext.rb b/db/migrate/011_add_language_ext.rb --- a/db/migrate/011_add_language_ext.rb +++ b/db/migrate/011_add_language_ext.rb @@ -1,4 +1,4 @@ -class AddLanguageExt < ActiveRecord::Migration +class AddLanguageExt < ActiveRecord::Migration[4.2] def self.up add_column :languages, :ext, :string, :limit => 10 diff --git a/db/migrate/012_add_email_to_users.rb b/db/migrate/012_add_email_to_users.rb --- a/db/migrate/012_add_email_to_users.rb +++ b/db/migrate/012_add_email_to_users.rb @@ -1,4 +1,4 @@ -class AddEmailToUsers < ActiveRecord::Migration +class AddEmailToUsers < ActiveRecord::Migration[4.2] def self.up add_column :users, :email, :string end diff --git a/db/migrate/013_add_url_to_problem.rb b/db/migrate/013_add_url_to_problem.rb --- a/db/migrate/013_add_url_to_problem.rb +++ b/db/migrate/013_add_url_to_problem.rb @@ -1,4 +1,4 @@ -class AddUrlToProblem < ActiveRecord::Migration +class AddUrlToProblem < ActiveRecord::Migration[4.2] def self.up add_column :problems, :url, :string end diff --git a/db/migrate/014_create_grader_processes.rb b/db/migrate/014_create_grader_processes.rb --- a/db/migrate/014_create_grader_processes.rb +++ b/db/migrate/014_create_grader_processes.rb @@ -1,6 +1,6 @@ -class CreateGraderProcesses < ActiveRecord::Migration +class CreateGraderProcesses < ActiveRecord::Migration[4.2] def self.up - create_table :grader_processes do |t| + create_table :grader_processes, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :ip, :string, :limit => 20 t.column :pid, :integer t.column :mode, :string diff --git a/db/migrate/015_add_status_to_tasks.rb b/db/migrate/015_add_status_to_tasks.rb --- a/db/migrate/015_add_status_to_tasks.rb +++ b/db/migrate/015_add_status_to_tasks.rb @@ -1,4 +1,4 @@ -class AddStatusToTasks < ActiveRecord::Migration +class AddStatusToTasks < ActiveRecord::Migration[4.2] def self.up add_column :tasks, :status, :integer add_column :tasks, :updated_at, :datetime diff --git a/db/migrate/016_add_task_to_grader_process.rb b/db/migrate/016_add_task_to_grader_process.rb --- a/db/migrate/016_add_task_to_grader_process.rb +++ b/db/migrate/016_add_task_to_grader_process.rb @@ -1,4 +1,4 @@ -class AddTaskToGraderProcess < ActiveRecord::Migration +class AddTaskToGraderProcess < ActiveRecord::Migration[4.2] def self.up add_column :grader_processes, :task_id, :integer end diff --git a/db/migrate/017_rename_grader_process_column_ip_to_host.rb b/db/migrate/017_rename_grader_process_column_ip_to_host.rb --- a/db/migrate/017_rename_grader_process_column_ip_to_host.rb +++ b/db/migrate/017_rename_grader_process_column_ip_to_host.rb @@ -1,4 +1,4 @@ -class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration +class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration[4.2] def self.up rename_column :grader_processes, :ip, :host end diff --git a/db/migrate/018_add_number_to_submissions.rb b/db/migrate/018_add_number_to_submissions.rb --- a/db/migrate/018_add_number_to_submissions.rb +++ b/db/migrate/018_add_number_to_submissions.rb @@ -1,4 +1,4 @@ -class AddNumberToSubmissions < ActiveRecord::Migration +class AddNumberToSubmissions < ActiveRecord::Migration[4.2] def self.up add_column :submissions, :number, :integer diff --git a/db/migrate/019_create_test_requests.rb b/db/migrate/019_create_test_requests.rb --- a/db/migrate/019_create_test_requests.rb +++ b/db/migrate/019_create_test_requests.rb @@ -1,6 +1,6 @@ -class CreateTestRequests < ActiveRecord::Migration +class CreateTestRequests < ActiveRecord::Migration[4.2] def self.up - create_table :test_requests do |t| + create_table :test_requests, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :user_id, :integer t.column :problem_id, :integer t.column :submission_id, :integer @@ -10,7 +10,6 @@ # these are similar to tasks t.column :status, :integer - t.column :updated_at, :datetime # these are intentionally similar to submissions t.column :submitted_at, :datetime diff --git a/db/migrate/021_change_compiler_message_type_test_request.rb b/db/migrate/021_change_compiler_message_type_test_request.rb --- a/db/migrate/021_change_compiler_message_type_test_request.rb +++ b/db/migrate/021_change_compiler_message_type_test_request.rb @@ -1,4 +1,4 @@ -class ChangeCompilerMessageTypeTestRequest < ActiveRecord::Migration +class ChangeCompilerMessageTypeTestRequest < ActiveRecord::Migration[4.2] def self.up change_column :test_requests, :compiler_message, :text end diff --git a/db/migrate/022_create_configurations.rb b/db/migrate/022_create_configurations.rb --- a/db/migrate/022_create_configurations.rb +++ b/db/migrate/022_create_configurations.rb @@ -1,6 +1,6 @@ -class CreateConfigurations < ActiveRecord::Migration +class CreateConfigurations < ActiveRecord::Migration[4.2] def self.up - create_table :configurations do |t| + create_table :configurations, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :key, :string t.column :value_type, :string t.column :value, :string diff --git a/db/migrate/023_add_runstat_columns_to_test_request.rb b/db/migrate/023_add_runstat_columns_to_test_request.rb --- a/db/migrate/023_add_runstat_columns_to_test_request.rb +++ b/db/migrate/023_add_runstat_columns_to_test_request.rb @@ -1,4 +1,4 @@ -class AddRunstatColumnsToTestRequest < ActiveRecord::Migration +class AddRunstatColumnsToTestRequest < ActiveRecord::Migration[4.2] def self.up add_column :test_requests, :running_time, :float add_column :test_requests, :exit_status, :string diff --git a/db/migrate/024_create_sites.rb b/db/migrate/024_create_sites.rb --- a/db/migrate/024_create_sites.rb +++ b/db/migrate/024_create_sites.rb @@ -1,6 +1,6 @@ -class CreateSites < ActiveRecord::Migration +class CreateSites < ActiveRecord::Migration[4.2] def self.up - create_table :sites do |t| + create_table :sites, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.string :name t.boolean :started t.datetime :start_time diff --git a/db/migrate/025_add_site_to_user_and_add_default_site.rb b/db/migrate/025_add_site_to_user_and_add_default_site.rb --- a/db/migrate/025_add_site_to_user_and_add_default_site.rb +++ b/db/migrate/025_add_site_to_user_and_add_default_site.rb @@ -1,4 +1,4 @@ -class AddSiteToUserAndAddDefaultSite < ActiveRecord::Migration +class AddSiteToUserAndAddDefaultSite < ActiveRecord::Migration[4.2] def self.up default_site = Site.new({:name => 'default', :started => false}) diff --git a/db/migrate/026_add_body_to_problems.rb b/db/migrate/026_add_body_to_problems.rb --- a/db/migrate/026_add_body_to_problems.rb +++ b/db/migrate/026_add_body_to_problems.rb @@ -1,4 +1,4 @@ -class AddBodyToProblems < ActiveRecord::Migration +class AddBodyToProblems < ActiveRecord::Migration[4.2] def self.up add_column :problems, :body, :text end diff --git a/db/migrate/027_create_descriptions.rb b/db/migrate/027_create_descriptions.rb --- a/db/migrate/027_create_descriptions.rb +++ b/db/migrate/027_create_descriptions.rb @@ -1,6 +1,6 @@ -class CreateDescriptions < ActiveRecord::Migration +class CreateDescriptions < ActiveRecord::Migration[4.2] def self.up - create_table :descriptions do |t| + create_table :descriptions, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :body, :text t.column :markdowned, :boolean t.timestamps diff --git a/db/migrate/028_refactor_problem_body_to_description.rb b/db/migrate/028_refactor_problem_body_to_description.rb --- a/db/migrate/028_refactor_problem_body_to_description.rb +++ b/db/migrate/028_refactor_problem_body_to_description.rb @@ -1,4 +1,4 @@ -class RefactorProblemBodyToDescription < ActiveRecord::Migration +class RefactorProblemBodyToDescription < ActiveRecord::Migration[4.2] def self.up add_column :problems, :description_id, :integer Problem.reset_column_information diff --git a/db/migrate/029_add_test_allowed_to_problems.rb b/db/migrate/029_add_test_allowed_to_problems.rb --- a/db/migrate/029_add_test_allowed_to_problems.rb +++ b/db/migrate/029_add_test_allowed_to_problems.rb @@ -1,4 +1,4 @@ -class AddTestAllowedToProblems < ActiveRecord::Migration +class AddTestAllowedToProblems < ActiveRecord::Migration[4.2] def self.up add_column :problems, :test_allowed, :boolean Problem.reset_column_information diff --git a/db/migrate/030_create_announcements.rb b/db/migrate/030_create_announcements.rb --- a/db/migrate/030_create_announcements.rb +++ b/db/migrate/030_create_announcements.rb @@ -1,6 +1,6 @@ -class CreateAnnouncements < ActiveRecord::Migration +class CreateAnnouncements < ActiveRecord::Migration[4.2] def self.up - create_table :announcements do |t| + create_table :announcements, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.string :author t.text :body t.boolean :published diff --git a/db/migrate/031_add_supports_for_output_only_problems.rb b/db/migrate/031_add_supports_for_output_only_problems.rb --- a/db/migrate/031_add_supports_for_output_only_problems.rb +++ b/db/migrate/031_add_supports_for_output_only_problems.rb @@ -1,4 +1,4 @@ -class AddSupportsForOutputOnlyProblems < ActiveRecord::Migration +class AddSupportsForOutputOnlyProblems < ActiveRecord::Migration[4.2] def self.up add_column :submissions, :source_filename, :string add_column :problems, :output_only, :boolean diff --git a/db/migrate/032_create_messages.rb b/db/migrate/032_create_messages.rb --- a/db/migrate/032_create_messages.rb +++ b/db/migrate/032_create_messages.rb @@ -1,6 +1,6 @@ -class CreateMessages < ActiveRecord::Migration +class CreateMessages < ActiveRecord::Migration[4.2] def self.up - create_table :messages do |t| + create_table :messages, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column "sender_id", :integer t.column "receiver_id", :integer t.column "replying_message_id", :integer diff --git a/db/migrate/033_add_task_type_to_grader_processes.rb b/db/migrate/033_add_task_type_to_grader_processes.rb --- a/db/migrate/033_add_task_type_to_grader_processes.rb +++ b/db/migrate/033_add_task_type_to_grader_processes.rb @@ -1,4 +1,4 @@ -class AddTaskTypeToGraderProcesses < ActiveRecord::Migration +class AddTaskTypeToGraderProcesses < ActiveRecord::Migration[4.2] def self.up add_column 'grader_processes', 'task_type', :string end diff --git a/db/migrate/034_create_countries.rb b/db/migrate/034_create_countries.rb --- a/db/migrate/034_create_countries.rb +++ b/db/migrate/034_create_countries.rb @@ -1,6 +1,6 @@ -class CreateCountries < ActiveRecord::Migration +class CreateCountries < ActiveRecord::Migration[4.2] def self.up - create_table :countries do |t| + create_table :countries, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column :name, :string t.timestamps end diff --git a/db/migrate/035_add_country_to_sites_and_users.rb b/db/migrate/035_add_country_to_sites_and_users.rb --- a/db/migrate/035_add_country_to_sites_and_users.rb +++ b/db/migrate/035_add_country_to_sites_and_users.rb @@ -1,4 +1,4 @@ -class AddCountryToSitesAndUsers < ActiveRecord::Migration +class AddCountryToSitesAndUsers < ActiveRecord::Migration[4.2] def self.up add_column 'sites', 'country_id', :integer add_column 'sites', 'password', :string diff --git a/db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb b/db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb --- a/db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb +++ b/db/migrate/20081107145815_add_frontpage_flag_to_announcement.rb @@ -1,4 +1,4 @@ -class AddFrontpageFlagToAnnouncement < ActiveRecord::Migration +class AddFrontpageFlagToAnnouncement < ActiveRecord::Migration[4.2] def self.up add_column :announcements, "frontpage", :boolean, :default => 0 end diff --git a/db/migrate/20081204122651_add_activated_to_users.rb b/db/migrate/20081204122651_add_activated_to_users.rb --- a/db/migrate/20081204122651_add_activated_to_users.rb +++ b/db/migrate/20081204122651_add_activated_to_users.rb @@ -1,4 +1,4 @@ -class AddActivatedToUsers < ActiveRecord::Migration +class AddActivatedToUsers < ActiveRecord::Migration[4.2] def self.up add_column :users, :activated, :boolean, :default => 0 diff --git a/db/migrate/20081210021333_add_timestamps_to_users.rb b/db/migrate/20081210021333_add_timestamps_to_users.rb --- a/db/migrate/20081210021333_add_timestamps_to_users.rb +++ b/db/migrate/20081210021333_add_timestamps_to_users.rb @@ -1,4 +1,4 @@ -class AddTimestampsToUsers < ActiveRecord::Migration +class AddTimestampsToUsers < ActiveRecord::Migration[4.2] def self.up add_timestamps :users end diff --git a/db/migrate/20081215012843_change_user_login_string_limit.rb b/db/migrate/20081215012843_change_user_login_string_limit.rb --- a/db/migrate/20081215012843_change_user_login_string_limit.rb +++ b/db/migrate/20081215012843_change_user_login_string_limit.rb @@ -1,4 +1,4 @@ -class ChangeUserLoginStringLimit < ActiveRecord::Migration +class ChangeUserLoginStringLimit < ActiveRecord::Migration[4.2] def self.up execute "ALTER TABLE `users` CHANGE `login` `login` VARCHAR( 50 )" end diff --git a/db/migrate/20090206145016_add_contest_flag_to_announcements.rb b/db/migrate/20090206145016_add_contest_flag_to_announcements.rb --- a/db/migrate/20090206145016_add_contest_flag_to_announcements.rb +++ b/db/migrate/20090206145016_add_contest_flag_to_announcements.rb @@ -1,4 +1,4 @@ -class AddContestFlagToAnnouncements < ActiveRecord::Migration +class AddContestFlagToAnnouncements < ActiveRecord::Migration[4.2] def self.up add_column :announcements, :contest_only, :boolean, :default => false end diff --git a/db/migrate/20090416235658_add_common_ext_to_languages.rb b/db/migrate/20090416235658_add_common_ext_to_languages.rb --- a/db/migrate/20090416235658_add_common_ext_to_languages.rb +++ b/db/migrate/20090416235658_add_common_ext_to_languages.rb @@ -1,4 +1,4 @@ -class AddCommonExtToLanguages < ActiveRecord::Migration +class AddCommonExtToLanguages < ActiveRecord::Migration[4.2] def self.up # language.common_ext is a comma-separated list of common file # extensions. diff --git a/db/migrate/20090426131044_add_terminated_to_grader_processes.rb b/db/migrate/20090426131044_add_terminated_to_grader_processes.rb --- a/db/migrate/20090426131044_add_terminated_to_grader_processes.rb +++ b/db/migrate/20090426131044_add_terminated_to_grader_processes.rb @@ -1,4 +1,4 @@ -class AddTerminatedToGraderProcesses < ActiveRecord::Migration +class AddTerminatedToGraderProcesses < ActiveRecord::Migration[4.2] def self.up add_column :grader_processes, :terminated, :boolean end diff --git a/db/migrate/20090815171610_add_title_to_announcements.rb b/db/migrate/20090815171610_add_title_to_announcements.rb --- a/db/migrate/20090815171610_add_title_to_announcements.rb +++ b/db/migrate/20090815171610_add_title_to_announcements.rb @@ -1,4 +1,4 @@ -class AddTitleToAnnouncements < ActiveRecord::Migration +class AddTitleToAnnouncements < ActiveRecord::Migration[4.2] def self.up add_column :announcements, :title, :string end diff --git a/db/migrate/20100113094740_create_test_pairs.rb b/db/migrate/20100113094740_create_test_pairs.rb --- a/db/migrate/20100113094740_create_test_pairs.rb +++ b/db/migrate/20100113094740_create_test_pairs.rb @@ -1,6 +1,6 @@ -class CreateTestPairs < ActiveRecord::Migration +class CreateTestPairs < ActiveRecord::Migration[4.2] def self.up - create_table :test_pairs do |t| + create_table :test_pairs, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.integer :problem_id t.text :input t.text :solution diff --git a/db/migrate/20100124040107_add_description_to_config.rb b/db/migrate/20100124040107_add_description_to_config.rb --- a/db/migrate/20100124040107_add_description_to_config.rb +++ b/db/migrate/20100124040107_add_description_to_config.rb @@ -1,4 +1,4 @@ -class AddDescriptionToConfig < ActiveRecord::Migration +class AddDescriptionToConfig < ActiveRecord::Migration[4.2] def self.up add_column :configurations, :description, :text end diff --git a/db/migrate/20100124054458_create_user_contest_stats.rb b/db/migrate/20100124054458_create_user_contest_stats.rb --- a/db/migrate/20100124054458_create_user_contest_stats.rb +++ b/db/migrate/20100124054458_create_user_contest_stats.rb @@ -1,6 +1,6 @@ -class CreateUserContestStats < ActiveRecord::Migration +class CreateUserContestStats < ActiveRecord::Migration[4.2] def self.up - create_table :user_contest_stats do |t| + create_table :user_contest_stats, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.integer :user_id t.timestamp :started_at diff --git a/db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb b/db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb --- a/db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb +++ b/db/migrate/20100129041917_change_input_solution_field_limit_in_test_pair.rb @@ -1,4 +1,4 @@ -class ChangeInputSolutionFieldLimitInTestPair < ActiveRecord::Migration +class ChangeInputSolutionFieldLimitInTestPair < ActiveRecord::Migration[4.2] def self.up change_column :test_pairs, :input, :text, :limit => 1.megabytes change_column :test_pairs, :solution, :text, :limit => 1.megabytes diff --git a/db/migrate/20100216105730_create_contests.rb b/db/migrate/20100216105730_create_contests.rb --- a/db/migrate/20100216105730_create_contests.rb +++ b/db/migrate/20100216105730_create_contests.rb @@ -1,6 +1,6 @@ -class CreateContests < ActiveRecord::Migration +class CreateContests < ActiveRecord::Migration[4.2] def self.up - create_table :contests do |t| + create_table :contests, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.string :title t.boolean :enabled diff --git a/db/migrate/20100216162324_create_contests_users_join_table.rb b/db/migrate/20100216162324_create_contests_users_join_table.rb --- a/db/migrate/20100216162324_create_contests_users_join_table.rb +++ b/db/migrate/20100216162324_create_contests_users_join_table.rb @@ -1,6 +1,6 @@ -class CreateContestsUsersJoinTable < ActiveRecord::Migration +class CreateContestsUsersJoinTable < ActiveRecord::Migration[4.2] def self.up - create_table :contests_users, :id => false do |t| + create_table :contests_users, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.integer :contest_id t.integer :user_id end diff --git a/db/migrate/20100216162940_create_contests_problems_join_table.rb b/db/migrate/20100216162940_create_contests_problems_join_table.rb --- a/db/migrate/20100216162940_create_contests_problems_join_table.rb +++ b/db/migrate/20100216162940_create_contests_problems_join_table.rb @@ -1,6 +1,6 @@ -class CreateContestsProblemsJoinTable < ActiveRecord::Migration +class CreateContestsProblemsJoinTable < ActiveRecord::Migration[4.2] def self.up - create_table :contests_problems, :id => false do |t| + create_table :contests_problems, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.integer :contest_id t.integer :problem_id end diff --git a/db/migrate/20100219014840_add_description_filename_to_problems.rb b/db/migrate/20100219014840_add_description_filename_to_problems.rb --- a/db/migrate/20100219014840_add_description_filename_to_problems.rb +++ b/db/migrate/20100219014840_add_description_filename_to_problems.rb @@ -1,4 +1,4 @@ -class AddDescriptionFilenameToProblems < ActiveRecord::Migration +class AddDescriptionFilenameToProblems < ActiveRecord::Migration[4.2] def self.up add_column :problems, :description_filename, :string end diff --git a/db/migrate/20100303095700_add_name_to_contests.rb b/db/migrate/20100303095700_add_name_to_contests.rb --- a/db/migrate/20100303095700_add_name_to_contests.rb +++ b/db/migrate/20100303095700_add_name_to_contests.rb @@ -1,4 +1,4 @@ -class AddNameToContests < ActiveRecord::Migration +class AddNameToContests < ActiveRecord::Migration[4.2] def self.up add_column :contests, :name, :string end diff --git a/db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb b/db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb --- a/db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb +++ b/db/migrate/20100328123325_add_forced_logout_to_user_contest_stat.rb @@ -1,4 +1,4 @@ -class AddForcedLogoutToUserContestStat < ActiveRecord::Migration +class AddForcedLogoutToUserContestStat < ActiveRecord::Migration[4.2] def self.up add_column :user_contest_stats, :forced_logout, :boolean end diff --git a/db/migrate/20100506163112_add_notes_to_announcements.rb b/db/migrate/20100506163112_add_notes_to_announcements.rb --- a/db/migrate/20100506163112_add_notes_to_announcements.rb +++ b/db/migrate/20100506163112_add_notes_to_announcements.rb @@ -1,4 +1,4 @@ -class AddNotesToAnnouncements < ActiveRecord::Migration +class AddNotesToAnnouncements < ActiveRecord::Migration[4.2] def self.up add_column :announcements, :notes, :string end diff --git a/db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb b/db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb --- a/db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb +++ b/db/migrate/20121001033508_rename_configurations_to_grader_configurations.rb @@ -1,4 +1,4 @@ -class RenameConfigurationsToGraderConfigurations < ActiveRecord::Migration +class RenameConfigurationsToGraderConfigurations < ActiveRecord::Migration[4.2] def change rename_table 'configurations', 'grader_configurations' end diff --git a/db/migrate/20140823031747_add_more_detail_to_submission.rb b/db/migrate/20140823031747_add_more_detail_to_submission.rb --- a/db/migrate/20140823031747_add_more_detail_to_submission.rb +++ b/db/migrate/20140823031747_add_more_detail_to_submission.rb @@ -1,4 +1,4 @@ -class AddMoreDetailToSubmission < ActiveRecord::Migration +class AddMoreDetailToSubmission < ActiveRecord::Migration[4.2] def change add_column :submissions, :max_runtime, :float add_column :submissions, :peak_memory, :integer diff --git a/db/migrate/20140826095949_create_logins.rb b/db/migrate/20140826095949_create_logins.rb --- a/db/migrate/20140826095949_create_logins.rb +++ b/db/migrate/20140826095949_create_logins.rb @@ -1,6 +1,6 @@ -class CreateLogins < ActiveRecord::Migration +class CreateLogins < ActiveRecord::Migration[4.2] def change - create_table :logins do |t| + create_table :logins, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.string :user_id t.string :ip_address diff --git a/db/migrate/20140913060729_add_section_to_users.rb b/db/migrate/20140913060729_add_section_to_users.rb --- a/db/migrate/20140913060729_add_section_to_users.rb +++ b/db/migrate/20140913060729_add_section_to_users.rb @@ -1,4 +1,4 @@ -class AddSectionToUsers < ActiveRecord::Migration +class AddSectionToUsers < ActiveRecord::Migration[4.2] def change add_column :users, :section, :string end diff --git a/db/migrate/20140917150629_add_ip_to_submissions.rb b/db/migrate/20140917150629_add_ip_to_submissions.rb --- a/db/migrate/20140917150629_add_ip_to_submissions.rb +++ b/db/migrate/20140917150629_add_ip_to_submissions.rb @@ -1,4 +1,4 @@ -class AddIpToSubmissions < ActiveRecord::Migration +class AddIpToSubmissions < ActiveRecord::Migration[4.2] def change add_column :submissions, :ip_address, :string end diff --git a/db/migrate/20150203153534_add_more_to_users.rb b/db/migrate/20150203153534_add_more_to_users.rb --- a/db/migrate/20150203153534_add_more_to_users.rb +++ b/db/migrate/20150203153534_add_more_to_users.rb @@ -1,4 +1,4 @@ -class AddMoreToUsers < ActiveRecord::Migration +class AddMoreToUsers < ActiveRecord::Migration[4.2] def change add_column :users, :enabled, :boolean, default: 1 add_column :users, :remark, :string diff --git a/db/migrate/20150503164846_change_userid_on_login.rb b/db/migrate/20150503164846_change_userid_on_login.rb --- a/db/migrate/20150503164846_change_userid_on_login.rb +++ b/db/migrate/20150503164846_change_userid_on_login.rb @@ -1,4 +1,4 @@ -class ChangeUseridOnLogin < ActiveRecord::Migration +class ChangeUseridOnLogin < ActiveRecord::Migration[4.2] def up change_column :logins, :user_id, :integer end diff --git a/db/migrate/20150827131927_create_submission_view_logs.rb b/db/migrate/20150827131927_create_submission_view_logs.rb --- a/db/migrate/20150827131927_create_submission_view_logs.rb +++ b/db/migrate/20150827131927_create_submission_view_logs.rb @@ -1,6 +1,6 @@ -class CreateSubmissionViewLogs < ActiveRecord::Migration +class CreateSubmissionViewLogs < ActiveRecord::Migration[4.2] def change - create_table :submission_view_logs do |t| + create_table :submission_view_logs, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.integer :user_id t.integer :submission_id diff --git a/db/migrate/20150827133841_add_last_ip_to_user.rb b/db/migrate/20150827133841_add_last_ip_to_user.rb --- a/db/migrate/20150827133841_add_last_ip_to_user.rb +++ b/db/migrate/20150827133841_add_last_ip_to_user.rb @@ -1,4 +1,4 @@ -class AddLastIpToUser < ActiveRecord::Migration +class AddLastIpToUser < ActiveRecord::Migration[4.2] def change add_column :users, :last_ip, :string end diff --git a/db/migrate/20150914090545_create_heart_beats.rb b/db/migrate/20150914090545_create_heart_beats.rb --- a/db/migrate/20150914090545_create_heart_beats.rb +++ b/db/migrate/20150914090545_create_heart_beats.rb @@ -1,6 +1,6 @@ -class CreateHeartBeats < ActiveRecord::Migration +class CreateHeartBeats < ActiveRecord::Migration[4.2] def change - create_table :heart_beats do |t| + create_table :heart_beats, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.column 'user_id',:integer t.column 'ip_address',:string diff --git a/db/migrate/20150914155101_add_status_to_heart_beat.rb b/db/migrate/20150914155101_add_status_to_heart_beat.rb --- a/db/migrate/20150914155101_add_status_to_heart_beat.rb +++ b/db/migrate/20150914155101_add_status_to_heart_beat.rb @@ -1,4 +1,4 @@ -class AddStatusToHeartBeat < ActiveRecord::Migration +class AddStatusToHeartBeat < ActiveRecord::Migration[4.2] def change add_column :heart_beats, :status, :string end diff --git a/db/migrate/20150914223258_add_more_config.rb b/db/migrate/20150914223258_add_more_config.rb --- a/db/migrate/20150914223258_add_more_config.rb +++ b/db/migrate/20150914223258_add_more_config.rb @@ -1,4 +1,4 @@ -class AddMoreConfig < ActiveRecord::Migration +class AddMoreConfig < ActiveRecord::Migration[4.2] def up GraderConfiguration.create key: 'right.bypass_agreement', value_type: 'boolean', value:'true', description:'When false, a check box to accept license agreement appear at login and the user must click accept' end diff --git a/db/migrate/20150916054105_update_heart_beat.rb b/db/migrate/20150916054105_update_heart_beat.rb --- a/db/migrate/20150916054105_update_heart_beat.rb +++ b/db/migrate/20150916054105_update_heart_beat.rb @@ -1,4 +1,4 @@ -class UpdateHeartBeat < ActiveRecord::Migration +class UpdateHeartBeat < ActiveRecord::Migration[4.2] def up GraderConfiguration.create key: 'right.heartbeat_response', value_type: 'string', value:'OK', description:'Heart beat response text' add_index :heart_beats, :updated_at diff --git a/db/migrate/20161008050135_modify_grader_process.rb b/db/migrate/20161008050135_modify_grader_process.rb --- a/db/migrate/20161008050135_modify_grader_process.rb +++ b/db/migrate/20161008050135_modify_grader_process.rb @@ -1,4 +1,4 @@ -class ModifyGraderProcess < ActiveRecord::Migration +class ModifyGraderProcess < ActiveRecord::Migration[4.2] def up change_column :grader_processes, :host, :string end diff --git a/db/migrate/20161014091417_create_testcases.rb b/db/migrate/20161014091417_create_testcases.rb --- a/db/migrate/20161014091417_create_testcases.rb +++ b/db/migrate/20161014091417_create_testcases.rb @@ -1,6 +1,6 @@ -class CreateTestcases < ActiveRecord::Migration +class CreateTestcases < ActiveRecord::Migration[4.2] def change - create_table :testcases do |t| + create_table :testcases, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.references :problem t.integer :num t.integer :group diff --git a/db/migrate/20161031063337_add_config_view_test.rb b/db/migrate/20161031063337_add_config_view_test.rb --- a/db/migrate/20161031063337_add_config_view_test.rb +++ b/db/migrate/20161031063337_add_config_view_test.rb @@ -1,4 +1,4 @@ -class AddConfigViewTest < ActiveRecord::Migration +class AddConfigViewTest < ActiveRecord::Migration[4.2] def up GraderConfiguration.create key: 'right.view_testcase', value_type: 'boolean', value:'true', description:'When true, any user can view/download test data' #uglily and dirtily and shamelessly check other config and inifialize diff --git a/db/migrate/20170123162543_change_testcase_size.rb b/db/migrate/20170123162543_change_testcase_size.rb --- a/db/migrate/20170123162543_change_testcase_size.rb +++ b/db/migrate/20170123162543_change_testcase_size.rb @@ -1,4 +1,4 @@ -class ChangeTestcaseSize < ActiveRecord::Migration +class ChangeTestcaseSize < ActiveRecord::Migration[4.2] def change change_column :testcases, :input, :text, :limit => 4294967295 change_column :testcases, :sol, :text, :limit => 4294967295 diff --git a/db/migrate/20170124024527_add_view_testcase_to_problem.rb b/db/migrate/20170124024527_add_view_testcase_to_problem.rb --- a/db/migrate/20170124024527_add_view_testcase_to_problem.rb +++ b/db/migrate/20170124024527_add_view_testcase_to_problem.rb @@ -1,4 +1,4 @@ -class AddViewTestcaseToProblem < ActiveRecord::Migration +class AddViewTestcaseToProblem < ActiveRecord::Migration[4.2] def change add_column :problems, :view_testcase, :bool end diff --git a/db/migrate/20170310110146_add_index_to_task.rb b/db/migrate/20170310110146_add_index_to_task.rb --- a/db/migrate/20170310110146_add_index_to_task.rb +++ b/db/migrate/20170310110146_add_index_to_task.rb @@ -1,4 +1,4 @@ -class AddIndexToTask < ActiveRecord::Migration +class AddIndexToTask < ActiveRecord::Migration[4.2] def change add_index :tasks, :submission_id end diff --git a/db/migrate/20170427070345_add_heart_beat_full.rb b/db/migrate/20170427070345_add_heart_beat_full.rb --- a/db/migrate/20170427070345_add_heart_beat_full.rb +++ b/db/migrate/20170427070345_add_heart_beat_full.rb @@ -1,4 +1,4 @@ -class AddHeartBeatFull < ActiveRecord::Migration +class AddHeartBeatFull < ActiveRecord::Migration[4.2] def up GraderConfiguration.create key: 'right.heartbeat_response_full', value_type: 'string', value:'RESTART', description:'Heart beat response text when user got full score (set this value to the empty string to disable this feature)' end diff --git a/db/migrate/20170911091143_create_groups.rb b/db/migrate/20170911091143_create_groups.rb --- a/db/migrate/20170911091143_create_groups.rb +++ b/db/migrate/20170911091143_create_groups.rb @@ -1,17 +1,17 @@ -class CreateGroups < ActiveRecord::Migration +class CreateGroups < ActiveRecord::Migration[4.2] def change - create_table :groups do |t| + create_table :groups, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.string :name t.string :description end - create_join_table :groups, :users do |t| + create_join_table :groups, :users, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| # t.index [:group_id, :user_id] t.index [:user_id, :group_id] end - create_join_table :problems, :groups do |t| + create_join_table :problems, :groups, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| # t.index [:problem_id, :group_id] t.index [:group_id, :problem_id] end diff --git a/db/migrate/20170914150545_create_tags.rb b/db/migrate/20170914150545_create_tags.rb --- a/db/migrate/20170914150545_create_tags.rb +++ b/db/migrate/20170914150545_create_tags.rb @@ -1,6 +1,6 @@ -class CreateTags < ActiveRecord::Migration +class CreateTags < ActiveRecord::Migration[4.2] def change - create_table :tags do |t| + create_table :tags, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.string :name, null: false t.text :description t.boolean :public diff --git a/db/migrate/20170914150742_create_problem_tags.rb b/db/migrate/20170914150742_create_problem_tags.rb --- a/db/migrate/20170914150742_create_problem_tags.rb +++ b/db/migrate/20170914150742_create_problem_tags.rb @@ -1,6 +1,6 @@ -class CreateProblemTags < ActiveRecord::Migration +class CreateProblemTags < ActiveRecord::Migration[4.2] def change - create_table :problems_tags do |t| + create_table :problems_tags, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t| t.references :problem, index: true, foreign_key: true t.references :tag, index: true, foreign_key: true