Sha256: b1c52b215c250af37273ac8a9dff20e52287ed9db169b8dd8dc12f6b249e58dc

Contents?: true

Size: 670 Bytes

Versions: 7

Compression:

Stored size: 670 Bytes

Contents

class CreateBetterRecordCustomTypes < ActiveRecord::Migration[5.2]
  def up
    execute <<-SQL
      DO $$
        BEGIN
          IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'gender') THEN
            CREATE TYPE gender AS ENUM ('F', 'M');
          END IF;
        END
      $$;
    SQL

    execute <<-SQL
      DO $$
        BEGIN
          IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'money_integer') THEN
            CREATE DOMAIN money_integer AS INTEGER NOT NULL DEFAULT 0;
          END IF;
        END
      $$;
    SQL

  end

  def down
    execute "DROP DOMAIN IF EXISTS money_integer;"
    execute "DROP TYPE IF EXISTS gender;"
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
better_record-0.13.1 db/migrate/20180518042060_create_better_record_custom_types.rb
better_record-0.13.0 db/migrate/20180518042060_create_better_record_custom_types.rb
better_record-0.12.5 db/migrate/20180518042060_create_better_record_custom_types.rb
better_record-0.12.4 db/migrate/20180518042060_create_better_record_custom_types.rb
better_record-0.12.3 db/migrate/20180518042060_create_better_record_custom_types.rb
better_record-0.12.2 db/migrate/20180518042060_create_better_record_custom_types.rb
better_record-0.12.1 db/migrate/20180518042060_create_better_record_custom_types.rb