Sha256: 688271b74d2d770d68aca8d7ec41f5e31f02a19c0eb5ad92a0ba992f68a8e6ad

Contents?: true

Size: 1.99 KB

Versions: 2

Compression:

Stored size: 1.99 KB

Contents

class <%= class_name %> < ::Scrivito::Migration
  def up
    # This migration file allows to create and modify object class definitions or to change the CMS
    # content programatically. All Scrivito SDK classes and methods are available and arbitrary Ruby
    # code can be executed.
    #
    # Use `bundle exec rake cms:migrate` to run all migrations that are new to the `rtc` workspace.
    # Migrations are identified by an ID and only get executed once. If you migrate the CMS an
    # existing `rtc` workspace is used or a new `rtc` workspace is created. Only one developer at a
    # time can run migrations, which means to quickly try to publish the current migrations.
    #
    # Use `bundle exec rake cms:migrate:publish` to publish your `rtc` workspace that holds the
    # latest unpublished migrations.
    #
    # To get you started, here is a list of the most common SDK methods to alter the CMS content.
    #
    # @example Create a new non-binary obj class named "Homepage" that has a "string" attribute named "locale".
    #   Scrivito::ObjClass.create(name: 'Homepage', is_binary: false, attributes: [
    #     {name: 'locale', type: :string}
    #   ])
    #
    # @example Find the obj class named "Homepage".
    #   Scrivito::ObjClass.find('Homepage')
    #
    # @example Update the "is_active" attribute of the obj class named "Homepage".
    #   Scrivito::ObjClass.find('Homepage').update(is_active: false)
    #
    # @example Add an "enum" attribute named "category" to the obj class named "Homepage".
    #   Scrivito::ObjClass.find('Homepage').attributes.add(name: 'category', type: :enum, values: %w(tech, social))
    #
    # @example Update the "category" attribute and add another value.
    #   attribute = Scrivito::ObjClass.find('Homepage').attributes['category']
    #   attribute.update(values: attribute.values << 'media')
    #
    # @example Destroy the attribute "category" from the obj class "Homepage".
    #   Scrivito::ObjClass.find('Homepage').attributes['category'].destroy
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
scrivito_sdk-0.18.1 lib/generators/cms/migration/templates/migration.erb
scrivito_sdk-0.18.0 lib/generators/cms/migration/templates/migration.erb