Sha256: 906af91be25a7285c5674785c8645346e97faea1bd6a342390d1dc85e8b11dc1

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

require 'dm-migrations'
module Enginery
  class Migrator
    MigratorInstance = DataMapper::Migration.new #{ @step }, "#{ @name }" do
      up do
        <?rb if @create_table ?>
        create_table :#{ @create_table } do
          column :id, Integer, serial: true
          <?rb @create_columns.each do |(n,t)| ?>
          column :#{ n }, #{ t }
          <?rb end ?>
        end
        
        <?rb elsif @update_table ?>
        modify_table :#{ @update_table } do

        <?rb @create_columns.each do |(n,t)| ?>
          add_column :#{ n }, #{ t }
        <?rb end ?>

        <?rb @update_columns.each do |(n,t)| ?>
          change_column :#{ n }, #{ t }
        <?rb end ?>

        <?rb @rename_columns.each do |(n,nn)| ?>
          rename_column :#{ n }, :#{ nn }
        <?rb end ?>
        end
        <?rb end ?>
      end

      down do
        <?rb if @create_table ?>
        drop_table :#{ @create_table }
        <?rb elsif @update_table ?>
        modify_table :#{ @update_table } do
        
        <?rb @create_columns.each do |(n,t)| ?>
          drop_column :#{ n }
        <?rb end ?>

        <?rb if (update_columns = @update_columns.select {|n,t,ct| ct}).any?
        update_columns.each do |(n,t,ct)| ?>
          change_column :#{ n }, #{ ct }
        <?rb end
        end ?>

        <?rb @rename_columns.each do |(n,nn)| ?>
          rename_column :#{ nn }, :#{ n }
        <?rb end ?>

        end
        <?rb end ?>
      end
    end

    # *** do not remove this ***
    MigratorContext = #{@context}
      
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
my_enginery-0.2.8 app/migrations/DataMapper.erb