123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 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 /sqlite/i.match?(ActiveRecord::Base.connection.adapter_name)
- 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 /sqlite/i.match?(ActiveRecord::Base.connection.adapter_name)
- # Cannot restore default values as t/f
- raise ActiveRecord::IrreversibleMigration
- end
- end
- end
|