Description:
update migration
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r822:f42556ce3209 - - 77 files changed: 120 inserted, 111 deleted

@@ -370,4 +370,4
370 ruby 3.1.0p0
370 ruby 3.1.0p0
371
371
372 BUNDLED WITH
372 BUNDLED WITH
373 - 2.3.5
373 + 2.3.3
@@ -53,9 +53,19
53 1. You have to reboot since RVM change a lots of system.
53 1. You have to reboot since RVM change a lots of system.
54 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.
54 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.
55
55
56 - === 3. Install necessary package
56 + === 3. Install necessary package and nodejs
57 +
58 + First, we install required package via apt.
59 +
60 + cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip php-cli apache2 dirmngr gnupg apache2-dev
57
61
58 - cafe@grader:~$ sudo apt install libmysqlclient-dev default-jdk unzip nodejs php-cli apache2 dirmngr gnupg apache2-dev
62 + 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*
63 +
64 + cd ~
65 + curl -sL https://deb.nodesource.com/setup_17.x -o nodesource_setup.sh
66 + sudo bash nodesource_setup.sh
67 + sudo apt install nodejs
68 +
59
69
60 === 4. Install cafe-grader
70 === 4. Install cafe-grader
61
71
@@ -1,6 +1,6
1 - class CreateUsers < ActiveRecord::Migration
1 + class CreateUsers < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :users do |t|
3 + create_table :users, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :login, :string, :limit => 10
4 t.column :login, :string, :limit => 10
5 t.column :full_name, :string
5 t.column :full_name, :string
6 t.column :hashed_password, :string
6 t.column :hashed_password, :string
@@ -1,6 +1,6
1 - class CreateProblems < ActiveRecord::Migration
1 + class CreateProblems < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :problems do |t|
3 + create_table :problems, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :name, :string, :limit => 30
4 t.column :name, :string, :limit => 30
5 t.column :full_name, :string
5 t.column :full_name, :string
6 t.column :full_score, :integer
6 t.column :full_score, :integer
@@ -1,6 +1,6
1 - class CreateSubmissions < ActiveRecord::Migration
1 + class CreateSubmissions < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :submissions do |t|
3 + create_table :submissions, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :user_id, :integer
4 t.column :user_id, :integer
5 t.column :problem_id, :integer
5 t.column :problem_id, :integer
6 t.column :language_id, :integer
6 t.column :language_id, :integer
@@ -1,6 +1,6
1 - class CreateLanguages < ActiveRecord::Migration
1 + class CreateLanguages < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :languages do |t|
3 + create_table :languages, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :name, :string, :limit => 10
4 t.column :name, :string, :limit => 10
5 t.column :pretty_name, :string
5 t.column :pretty_name, :string
6 end
6 end
@@ -1,4 +1,4
1 - class AddIndexToSubmissions < ActiveRecord::Migration
1 + class AddIndexToSubmissions < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_index :submissions, [:user_id, :problem_id]
3 add_index :submissions, [:user_id, :problem_id]
4 end
4 end
@@ -1,10 +1,10
1 - class CreateRoles < ActiveRecord::Migration
1 + class CreateRoles < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :roles do |t|
3 + create_table :roles, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column 'name', :string
4 t.column 'name', :string
5 end
5 end
6
6
7 - create_table :roles_users, :id => false do |t|
7 + create_table :roles_users, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
8 t.column 'role_id', :integer
8 t.column 'role_id', :integer
9 t.column 'user_id', :integer
9 t.column 'user_id', :integer
10 end
10 end
@@ -1,12 +1,12
1 - class CreateRights < ActiveRecord::Migration
1 + class CreateRights < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :rights do |t|
3 + create_table :rights, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column 'name', :string
4 t.column 'name', :string
5 t.column 'controller', :string
5 t.column 'controller', :string
6 t.column 'action', :string
6 t.column 'action', :string
7 end
7 end
8
8
9 - create_table :rights_roles, :id => false do |t|
9 + create_table :rights_roles, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
10 t.column 'right_id', :integer
10 t.column 'right_id', :integer
11 t.column 'role_id', :integer
11 t.column 'role_id', :integer
12 end
12 end
@@ -1,6 +1,6
1 - class CreateTasks < ActiveRecord::Migration
1 + class CreateTasks < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :tasks do |t|
3 + create_table :tasks, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column 'submission_id', :integer
4 t.column 'submission_id', :integer
5 t.column 'created_at', :datetime
5 t.column 'created_at', :datetime
6 end
6 end
@@ -1,6 +1,6
1 - class AddSessions < ActiveRecord::Migration
1 + class AddSessions < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :sessions do |t|
3 + create_table :sessions, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :session_id, :string
4 t.column :session_id, :string
5 t.column :data, :text
5 t.column :data, :text
6 t.column :updated_at, :datetime
6 t.column :updated_at, :datetime
@@ -1,4 +1,4
1 - class AddLanguageExt < ActiveRecord::Migration
1 + class AddLanguageExt < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :languages, :ext, :string, :limit => 10
3 add_column :languages, :ext, :string, :limit => 10
4
4
@@ -1,4 +1,4
1 - class AddEmailToUsers < ActiveRecord::Migration
1 + class AddEmailToUsers < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :users, :email, :string
3 add_column :users, :email, :string
4 end
4 end
@@ -1,4 +1,4
1 - class AddUrlToProblem < ActiveRecord::Migration
1 + class AddUrlToProblem < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :problems, :url, :string
3 add_column :problems, :url, :string
4 end
4 end
@@ -1,6 +1,6
1 - class CreateGraderProcesses < ActiveRecord::Migration
1 + class CreateGraderProcesses < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :grader_processes do |t|
3 + create_table :grader_processes, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :ip, :string, :limit => 20
4 t.column :ip, :string, :limit => 20
5 t.column :pid, :integer
5 t.column :pid, :integer
6 t.column :mode, :string
6 t.column :mode, :string
@@ -1,4 +1,4
1 - class AddStatusToTasks < ActiveRecord::Migration
1 + class AddStatusToTasks < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :tasks, :status, :integer
3 add_column :tasks, :status, :integer
4 add_column :tasks, :updated_at, :datetime
4 add_column :tasks, :updated_at, :datetime
@@ -1,4 +1,4
1 - class AddTaskToGraderProcess < ActiveRecord::Migration
1 + class AddTaskToGraderProcess < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :grader_processes, :task_id, :integer
3 add_column :grader_processes, :task_id, :integer
4 end
4 end
@@ -1,4 +1,4
1 - class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration
1 + class RenameGraderProcessColumnIpToHost < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 rename_column :grader_processes, :ip, :host
3 rename_column :grader_processes, :ip, :host
4 end
4 end
@@ -1,4 +1,4
1 - class AddNumberToSubmissions < ActiveRecord::Migration
1 + class AddNumberToSubmissions < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :submissions, :number, :integer
3 add_column :submissions, :number, :integer
4
4
@@ -1,6 +1,6
1 - class CreateTestRequests < ActiveRecord::Migration
1 + class CreateTestRequests < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :test_requests do |t|
3 + create_table :test_requests, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :user_id, :integer
4 t.column :user_id, :integer
5 t.column :problem_id, :integer
5 t.column :problem_id, :integer
6 t.column :submission_id, :integer
6 t.column :submission_id, :integer
@@ -10,7 +10,6
10
10
11 # these are similar to tasks
11 # these are similar to tasks
12 t.column :status, :integer
12 t.column :status, :integer
13 - t.column :updated_at, :datetime
14
13
15 # these are intentionally similar to submissions
14 # these are intentionally similar to submissions
16 t.column :submitted_at, :datetime
15 t.column :submitted_at, :datetime
@@ -1,4 +1,4
1 - class ChangeCompilerMessageTypeTestRequest < ActiveRecord::Migration
1 + class ChangeCompilerMessageTypeTestRequest < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 change_column :test_requests, :compiler_message, :text
3 change_column :test_requests, :compiler_message, :text
4 end
4 end
@@ -1,6 +1,6
1 - class CreateConfigurations < ActiveRecord::Migration
1 + class CreateConfigurations < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :configurations do |t|
3 + create_table :configurations, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :key, :string
4 t.column :key, :string
5 t.column :value_type, :string
5 t.column :value_type, :string
6 t.column :value, :string
6 t.column :value, :string
@@ -1,4 +1,4
1 - class AddRunstatColumnsToTestRequest < ActiveRecord::Migration
1 + class AddRunstatColumnsToTestRequest < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :test_requests, :running_time, :float
3 add_column :test_requests, :running_time, :float
4 add_column :test_requests, :exit_status, :string
4 add_column :test_requests, :exit_status, :string
@@ -1,6 +1,6
1 - class CreateSites < ActiveRecord::Migration
1 + class CreateSites < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :sites do |t|
3 + create_table :sites, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.string :name
4 t.string :name
5 t.boolean :started
5 t.boolean :started
6 t.datetime :start_time
6 t.datetime :start_time
@@ -1,4 +1,4
1 - class AddSiteToUserAndAddDefaultSite < ActiveRecord::Migration
1 + class AddSiteToUserAndAddDefaultSite < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 default_site = Site.new({:name => 'default',
3 default_site = Site.new({:name => 'default',
4 :started => false})
4 :started => false})
@@ -1,4 +1,4
1 - class AddBodyToProblems < ActiveRecord::Migration
1 + class AddBodyToProblems < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :problems, :body, :text
3 add_column :problems, :body, :text
4 end
4 end
@@ -1,6 +1,6
1 - class CreateDescriptions < ActiveRecord::Migration
1 + class CreateDescriptions < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :descriptions do |t|
3 + create_table :descriptions, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :body, :text
4 t.column :body, :text
5 t.column :markdowned, :boolean
5 t.column :markdowned, :boolean
6 t.timestamps
6 t.timestamps
@@ -1,4 +1,4
1 - class RefactorProblemBodyToDescription < ActiveRecord::Migration
1 + class RefactorProblemBodyToDescription < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :problems, :description_id, :integer
3 add_column :problems, :description_id, :integer
4 Problem.reset_column_information
4 Problem.reset_column_information
@@ -1,4 +1,4
1 - class AddTestAllowedToProblems < ActiveRecord::Migration
1 + class AddTestAllowedToProblems < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :problems, :test_allowed, :boolean
3 add_column :problems, :test_allowed, :boolean
4 Problem.reset_column_information
4 Problem.reset_column_information
@@ -1,6 +1,6
1 - class CreateAnnouncements < ActiveRecord::Migration
1 + class CreateAnnouncements < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :announcements do |t|
3 + create_table :announcements, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.string :author
4 t.string :author
5 t.text :body
5 t.text :body
6 t.boolean :published
6 t.boolean :published
@@ -1,4 +1,4
1 - class AddSupportsForOutputOnlyProblems < ActiveRecord::Migration
1 + class AddSupportsForOutputOnlyProblems < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :submissions, :source_filename, :string
3 add_column :submissions, :source_filename, :string
4 add_column :problems, :output_only, :boolean
4 add_column :problems, :output_only, :boolean
@@ -1,6 +1,6
1 - class CreateMessages < ActiveRecord::Migration
1 + class CreateMessages < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :messages do |t|
3 + create_table :messages, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column "sender_id", :integer
4 t.column "sender_id", :integer
5 t.column "receiver_id", :integer
5 t.column "receiver_id", :integer
6 t.column "replying_message_id", :integer
6 t.column "replying_message_id", :integer
@@ -1,4 +1,4
1 - class AddTaskTypeToGraderProcesses < ActiveRecord::Migration
1 + class AddTaskTypeToGraderProcesses < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column 'grader_processes', 'task_type', :string
3 add_column 'grader_processes', 'task_type', :string
4 end
4 end
@@ -1,6 +1,6
1 - class CreateCountries < ActiveRecord::Migration
1 + class CreateCountries < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :countries do |t|
3 + create_table :countries, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column :name, :string
4 t.column :name, :string
5 t.timestamps
5 t.timestamps
6 end
6 end
@@ -1,4 +1,4
1 - class AddCountryToSitesAndUsers < ActiveRecord::Migration
1 + class AddCountryToSitesAndUsers < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column 'sites', 'country_id', :integer
3 add_column 'sites', 'country_id', :integer
4 add_column 'sites', 'password', :string
4 add_column 'sites', 'password', :string
@@ -1,4 +1,4
1 - class AddFrontpageFlagToAnnouncement < ActiveRecord::Migration
1 + class AddFrontpageFlagToAnnouncement < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :announcements, "frontpage", :boolean, :default => 0
3 add_column :announcements, "frontpage", :boolean, :default => 0
4 end
4 end
@@ -1,4 +1,4
1 - class AddActivatedToUsers < ActiveRecord::Migration
1 + class AddActivatedToUsers < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :users, :activated, :boolean, :default => 0
3 add_column :users, :activated, :boolean, :default => 0
4
4
@@ -1,4 +1,4
1 - class AddTimestampsToUsers < ActiveRecord::Migration
1 + class AddTimestampsToUsers < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_timestamps :users
3 add_timestamps :users
4 end
4 end
@@ -1,4 +1,4
1 - class ChangeUserLoginStringLimit < ActiveRecord::Migration
1 + class ChangeUserLoginStringLimit < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 execute "ALTER TABLE `users` CHANGE `login` `login` VARCHAR( 50 )"
3 execute "ALTER TABLE `users` CHANGE `login` `login` VARCHAR( 50 )"
4 end
4 end
@@ -1,4 +1,4
1 - class AddContestFlagToAnnouncements < ActiveRecord::Migration
1 + class AddContestFlagToAnnouncements < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :announcements, :contest_only, :boolean, :default => false
3 add_column :announcements, :contest_only, :boolean, :default => false
4 end
4 end
@@ -1,4 +1,4
1 - class AddCommonExtToLanguages < ActiveRecord::Migration
1 + class AddCommonExtToLanguages < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 # language.common_ext is a comma-separated list of common file
3 # language.common_ext is a comma-separated list of common file
4 # extensions.
4 # extensions.
@@ -1,4 +1,4
1 - class AddTerminatedToGraderProcesses < ActiveRecord::Migration
1 + class AddTerminatedToGraderProcesses < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :grader_processes, :terminated, :boolean
3 add_column :grader_processes, :terminated, :boolean
4 end
4 end
@@ -1,4 +1,4
1 - class AddTitleToAnnouncements < ActiveRecord::Migration
1 + class AddTitleToAnnouncements < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :announcements, :title, :string
3 add_column :announcements, :title, :string
4 end
4 end
@@ -1,6 +1,6
1 - class CreateTestPairs < ActiveRecord::Migration
1 + class CreateTestPairs < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :test_pairs do |t|
3 + create_table :test_pairs, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.integer :problem_id
4 t.integer :problem_id
5 t.text :input
5 t.text :input
6 t.text :solution
6 t.text :solution
@@ -1,4 +1,4
1 - class AddDescriptionToConfig < ActiveRecord::Migration
1 + class AddDescriptionToConfig < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :configurations, :description, :text
3 add_column :configurations, :description, :text
4 end
4 end
@@ -1,6 +1,6
1 - class CreateUserContestStats < ActiveRecord::Migration
1 + class CreateUserContestStats < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :user_contest_stats do |t|
3 + create_table :user_contest_stats, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.integer :user_id
4 t.integer :user_id
5 t.timestamp :started_at
5 t.timestamp :started_at
6
6
@@ -1,4 +1,4
1 - class ChangeInputSolutionFieldLimitInTestPair < ActiveRecord::Migration
1 + class ChangeInputSolutionFieldLimitInTestPair < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 change_column :test_pairs, :input, :text, :limit => 1.megabytes
3 change_column :test_pairs, :input, :text, :limit => 1.megabytes
4 change_column :test_pairs, :solution, :text, :limit => 1.megabytes
4 change_column :test_pairs, :solution, :text, :limit => 1.megabytes
@@ -1,6 +1,6
1 - class CreateContests < ActiveRecord::Migration
1 + class CreateContests < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :contests do |t|
3 + create_table :contests, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.string :title
4 t.string :title
5 t.boolean :enabled
5 t.boolean :enabled
6
6
@@ -1,6 +1,6
1 - class CreateContestsUsersJoinTable < ActiveRecord::Migration
1 + class CreateContestsUsersJoinTable < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :contests_users, :id => false do |t|
3 + create_table :contests_users, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.integer :contest_id
4 t.integer :contest_id
5 t.integer :user_id
5 t.integer :user_id
6 end
6 end
@@ -1,6 +1,6
1 - class CreateContestsProblemsJoinTable < ActiveRecord::Migration
1 + class CreateContestsProblemsJoinTable < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 - create_table :contests_problems, :id => false do |t|
3 + create_table :contests_problems, :id => false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.integer :contest_id
4 t.integer :contest_id
5 t.integer :problem_id
5 t.integer :problem_id
6 end
6 end
@@ -1,4 +1,4
1 - class AddDescriptionFilenameToProblems < ActiveRecord::Migration
1 + class AddDescriptionFilenameToProblems < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :problems, :description_filename, :string
3 add_column :problems, :description_filename, :string
4 end
4 end
@@ -1,4 +1,4
1 - class AddNameToContests < ActiveRecord::Migration
1 + class AddNameToContests < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :contests, :name, :string
3 add_column :contests, :name, :string
4 end
4 end
@@ -1,4 +1,4
1 - class AddForcedLogoutToUserContestStat < ActiveRecord::Migration
1 + class AddForcedLogoutToUserContestStat < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :user_contest_stats, :forced_logout, :boolean
3 add_column :user_contest_stats, :forced_logout, :boolean
4 end
4 end
@@ -1,4 +1,4
1 - class AddNotesToAnnouncements < ActiveRecord::Migration
1 + class AddNotesToAnnouncements < ActiveRecord::Migration[4.2]
2 def self.up
2 def self.up
3 add_column :announcements, :notes, :string
3 add_column :announcements, :notes, :string
4 end
4 end
@@ -1,4 +1,4
1 - class RenameConfigurationsToGraderConfigurations < ActiveRecord::Migration
1 + class RenameConfigurationsToGraderConfigurations < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 rename_table 'configurations', 'grader_configurations'
3 rename_table 'configurations', 'grader_configurations'
4 end
4 end
@@ -1,4 +1,4
1 - class AddMoreDetailToSubmission < ActiveRecord::Migration
1 + class AddMoreDetailToSubmission < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :submissions, :max_runtime, :float
3 add_column :submissions, :max_runtime, :float
4 add_column :submissions, :peak_memory, :integer
4 add_column :submissions, :peak_memory, :integer
@@ -1,6 +1,6
1 - class CreateLogins < ActiveRecord::Migration
1 + class CreateLogins < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 - create_table :logins do |t|
3 + create_table :logins, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.string :user_id
4 t.string :user_id
5 t.string :ip_address
5 t.string :ip_address
6
6
@@ -1,4 +1,4
1 - class AddSectionToUsers < ActiveRecord::Migration
1 + class AddSectionToUsers < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :users, :section, :string
3 add_column :users, :section, :string
4 end
4 end
@@ -1,4 +1,4
1 - class AddIpToSubmissions < ActiveRecord::Migration
1 + class AddIpToSubmissions < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :submissions, :ip_address, :string
3 add_column :submissions, :ip_address, :string
4 end
4 end
@@ -1,4 +1,4
1 - class AddMoreToUsers < ActiveRecord::Migration
1 + class AddMoreToUsers < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :users, :enabled, :boolean, default: 1
3 add_column :users, :enabled, :boolean, default: 1
4 add_column :users, :remark, :string
4 add_column :users, :remark, :string
@@ -1,4 +1,4
1 - class ChangeUseridOnLogin < ActiveRecord::Migration
1 + class ChangeUseridOnLogin < ActiveRecord::Migration[4.2]
2 def up
2 def up
3 change_column :logins, :user_id, :integer
3 change_column :logins, :user_id, :integer
4 end
4 end
@@ -1,6 +1,6
1 - class CreateSubmissionViewLogs < ActiveRecord::Migration
1 + class CreateSubmissionViewLogs < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 - create_table :submission_view_logs do |t|
3 + create_table :submission_view_logs, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.integer :user_id
4 t.integer :user_id
5 t.integer :submission_id
5 t.integer :submission_id
6
6
@@ -1,4 +1,4
1 - class AddLastIpToUser < ActiveRecord::Migration
1 + class AddLastIpToUser < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :users, :last_ip, :string
3 add_column :users, :last_ip, :string
4 end
4 end
@@ -1,6 +1,6
1 - class CreateHeartBeats < ActiveRecord::Migration
1 + class CreateHeartBeats < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 - create_table :heart_beats do |t|
3 + create_table :heart_beats, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.column 'user_id',:integer
4 t.column 'user_id',:integer
5 t.column 'ip_address',:string
5 t.column 'ip_address',:string
6
6
@@ -1,4 +1,4
1 - class AddStatusToHeartBeat < ActiveRecord::Migration
1 + class AddStatusToHeartBeat < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :heart_beats, :status, :string
3 add_column :heart_beats, :status, :string
4 end
4 end
@@ -1,4 +1,4
1 - class AddMoreConfig < ActiveRecord::Migration
1 + class AddMoreConfig < ActiveRecord::Migration[4.2]
2 def up
2 def up
3 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'
3 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'
4 end
4 end
@@ -1,4 +1,4
1 - class UpdateHeartBeat < ActiveRecord::Migration
1 + class UpdateHeartBeat < ActiveRecord::Migration[4.2]
2 def up
2 def up
3 GraderConfiguration.create key: 'right.heartbeat_response', value_type: 'string', value:'OK', description:'Heart beat response text'
3 GraderConfiguration.create key: 'right.heartbeat_response', value_type: 'string', value:'OK', description:'Heart beat response text'
4 add_index :heart_beats, :updated_at
4 add_index :heart_beats, :updated_at
@@ -1,4 +1,4
1 - class ModifyGraderProcess < ActiveRecord::Migration
1 + class ModifyGraderProcess < ActiveRecord::Migration[4.2]
2 def up
2 def up
3 change_column :grader_processes, :host, :string
3 change_column :grader_processes, :host, :string
4 end
4 end
@@ -1,6 +1,6
1 - class CreateTestcases < ActiveRecord::Migration
1 + class CreateTestcases < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 - create_table :testcases do |t|
3 + create_table :testcases, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.references :problem
4 t.references :problem
5 t.integer :num
5 t.integer :num
6 t.integer :group
6 t.integer :group
@@ -1,4 +1,4
1 - class AddConfigViewTest < ActiveRecord::Migration
1 + class AddConfigViewTest < ActiveRecord::Migration[4.2]
2 def up
2 def up
3 GraderConfiguration.create key: 'right.view_testcase', value_type: 'boolean', value:'true', description:'When true, any user can view/download test data'
3 GraderConfiguration.create key: 'right.view_testcase', value_type: 'boolean', value:'true', description:'When true, any user can view/download test data'
4 #uglily and dirtily and shamelessly check other config and inifialize
4 #uglily and dirtily and shamelessly check other config and inifialize
@@ -1,4 +1,4
1 - class ChangeTestcaseSize < ActiveRecord::Migration
1 + class ChangeTestcaseSize < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 change_column :testcases, :input, :text, :limit => 4294967295
3 change_column :testcases, :input, :text, :limit => 4294967295
4 change_column :testcases, :sol, :text, :limit => 4294967295
4 change_column :testcases, :sol, :text, :limit => 4294967295
@@ -1,4 +1,4
1 - class AddViewTestcaseToProblem < ActiveRecord::Migration
1 + class AddViewTestcaseToProblem < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_column :problems, :view_testcase, :bool
3 add_column :problems, :view_testcase, :bool
4 end
4 end
@@ -1,4 +1,4
1 - class AddIndexToTask < ActiveRecord::Migration
1 + class AddIndexToTask < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 add_index :tasks, :submission_id
3 add_index :tasks, :submission_id
4 end
4 end
@@ -1,4 +1,4
1 - class AddHeartBeatFull < ActiveRecord::Migration
1 + class AddHeartBeatFull < ActiveRecord::Migration[4.2]
2 def up
2 def up
3 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)'
3 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)'
4 end
4 end
@@ -1,17 +1,17
1 - class CreateGroups < ActiveRecord::Migration
1 + class CreateGroups < ActiveRecord::Migration[4.2]
2
2
3 def change
3 def change
4 - create_table :groups do |t|
4 + create_table :groups, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
5 t.string :name
5 t.string :name
6 t.string :description
6 t.string :description
7 end
7 end
8
8
9 - create_join_table :groups, :users do |t|
9 + create_join_table :groups, :users, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
10 # t.index [:group_id, :user_id]
10 # t.index [:group_id, :user_id]
11 t.index [:user_id, :group_id]
11 t.index [:user_id, :group_id]
12 end
12 end
13
13
14 - create_join_table :problems, :groups do |t|
14 + create_join_table :problems, :groups, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
15 # t.index [:problem_id, :group_id]
15 # t.index [:problem_id, :group_id]
16 t.index [:group_id, :problem_id]
16 t.index [:group_id, :problem_id]
17 end
17 end
@@ -1,6 +1,6
1 - class CreateTags < ActiveRecord::Migration
1 + class CreateTags < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 - create_table :tags do |t|
3 + create_table :tags, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.string :name, null: false
4 t.string :name, null: false
5 t.text :description
5 t.text :description
6 t.boolean :public
6 t.boolean :public
@@ -1,6 +1,6
1 - class CreateProblemTags < ActiveRecord::Migration
1 + class CreateProblemTags < ActiveRecord::Migration[4.2]
2 def change
2 def change
3 - create_table :problems_tags do |t|
3 + create_table :problems_tags, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" do |t|
4 t.references :problem, index: true, foreign_key: true
4 t.references :problem, index: true, foreign_key: true
5 t.references :tag, index: true, foreign_key: true
5 t.references :tag, index: true, foreign_key: true
6
6
You need to be logged in to leave comments. Login now