Sha256: c03c11ac14717afdd822080f3bf7852c3ae5b6c511cf40541084fd2b3c6a06c0

Contents?: true

Size: 1.99 KB

Versions: 4

Compression:

Stored size: 1.99 KB

Contents

class <%= class_name %>Migration < 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 scrivito: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 scrivito: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', 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

4 entries across 4 versions & 1 rubygems

Version Path
scrivito_sdk-0.50.1 lib/generators/scrivito/migration/templates/migration.erb
scrivito_sdk-0.50.0 lib/generators/scrivito/migration/templates/migration.erb
scrivito_sdk-0.50.0.rc2 lib/generators/scrivito/migration/templates/migration.erb
scrivito_sdk-0.50.0.rc1 lib/generators/scrivito/migration/templates/migration.erb