diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2018-09-23 09:48:50 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2018-09-23 09:48:50 +0000 |
commit | 7dc4e35bc8fbdcc4ebb7bcc1d8822f78f5cf3b41 (patch) | |
tree | 783aac92e0cf7c70ec52c83c114ba7d53f6bfa7f /db | |
parent | 5ae629b3bbcf4bbbe0018f31f499f1ffb49dc7ad (diff) | |
download | redmine-7dc4e35bc8fbdcc4ebb7bcc1d8822f78f5cf3b41.tar.gz redmine-7dc4e35bc8fbdcc4ebb7bcc1d8822f78f5cf3b41.zip |
Sqlite3: change default value for booleans to 1 or 0 (#23630).
git-svn-id: http://svn.redmine.org/redmine/trunk@17501 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20180923091603_change_sqlite_booleans_default.rb | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/db/migrate/20180923091603_change_sqlite_booleans_default.rb b/db/migrate/20180923091603_change_sqlite_booleans_default.rb new file mode 100644 index 000000000..563bf3237 --- /dev/null +++ b/db/migrate/20180923091603_change_sqlite_booleans_default.rb @@ -0,0 +1,93 @@ +class ChangeSqliteBooleansDefault < ActiveRecord::Migration[5.2] + DEFAULTS = { + "auth_sources" => { + "onthefly_register" => false, + "tls" => false + }, + "custom_field_enumerations" => { + "active" => true + }, + "custom_fields" => { + "is_required" => false, + "is_for_all" => false, + "is_filter" => false, + "searchable" => false, + "editable" => true, + "visible" => true, + "multiple" => false + }, + "email_addresses" => { + "is_default" => false, + "notify" => true + }, + "enumerations" => { + "is_default" => false, + "active" => true + }, + "imports" => { + "finished" => false + }, + "issue_statuses" => { + "is_closed" => false + }, + "issues" => { + "is_private" => false + }, + "journals" => { + "private_notes" => false + }, + "members" => { + "mail_notification" => false + }, + "messages" => { + "locked" => false + }, + "projects" => { + "is_public" => true, + "inherit_members" => false + }, + "repositories" => { + "is_default" => false + }, + "roles" => { + "assignable" => true, + "all_roles_managed" => true + }, + "trackers" => { + "is_in_chlog" => false, + "is_in_roadmap" => true + }, + "user_preferences" => { + "hide_mail" => true + }, + "users" => { + "admin" => false, + "must_change_passwd" => false + }, + "wiki_pages" => { + "protected" => false + }, + "workflows" => { + "assignee" => false, + "author" => false + } + } + + def up + if ActiveRecord::Base.connection.adapter_name =~ /sqlite/i + DEFAULTS.each do |table, defaults| + defaults.each do |column, value| + # Reset default values for boolean column (t/f => 1/0) + change_column_default(table, column, value) + end + end + end + end + + def down + if ActiveRecord::Base.connection.adapter_name =~ /sqlite/i + # Cannot restore default values as t/f + raise ActiveRecord::IrreversibleMigration + end + end +end |