summaryrefslogtreecommitdiffstats
path: root/db
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2018-09-23 09:48:50 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2018-09-23 09:48:50 +0000
commit7dc4e35bc8fbdcc4ebb7bcc1d8822f78f5cf3b41 (patch)
tree783aac92e0cf7c70ec52c83c114ba7d53f6bfa7f /db
parent5ae629b3bbcf4bbbe0018f31f499f1ffb49dc7ad (diff)
downloadredmine-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.rb93
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