Sha256: 1bacab80fef4bd9c13ce6f52ce83b3bbdeeefee3ac8f997ae5466e26650ba959

Contents?: true

Size: 1.18 KB

Versions: 7

Compression:

Stored size: 1.18 KB

Contents

Sequel.migration do
  # Updates the database with the changes specified in the block.
  up do
    # Make sure the settings table has been migrated
    ::Settings::Setting.migrate

    if !Zen.database[:sections].all.empty?
      default_section = Zen.database[:settings] \
        .filter(:name => 'default_section') \
        .all[0][:value]

      default_section = Zen.database[:sections] \
        .filter(:slug => default_section) \
        .all[0][:id]

      # Change the slug to an ID
      Zen.database[:settings].filter(:name => 'default_section') \
        .update(:value => default_section)
    end
  end

  # Reverts the changes made in the up() block.
  down do
    default_section = Zen.database[:settings] \
      .filter(:name => 'default_section') \
      .all

    unless default_section.empty?
      default_section = default_section[0][:value]

      section = Zen.database[:sections] \
        .filter(:id => default_section) \
        .all[0]

      if !section.nil?
        default_section = section[:slug]

        # Change the ID back to a slug
        Zen.database[:settings].filter(:name => 'default_section') \
          .update(:value => default_section)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
zen-0.4.3 lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb
zen-0.4.2 lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb
zen-0.4.1 lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb
zen-0.4 lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb
zen-0.3 lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb
zen-0.3b1 lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb
zen-0.3b lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb