instance method create_enum

Ruby on Rails 7.0.10

Since v7.0.10

Available in: v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

create_enum(name, values)

Given a name and an array of values, creates an enum type.

Parameters

name req
values req
Source
# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 472
      def create_enum(name, values)
        sql_values = values.map { |s| "'#{s}'" }.join(", ")
        query = <<~SQL
          DO $$
          BEGIN
              IF NOT EXISTS (
                SELECT 1 FROM pg_type t
                WHERE t.typname = '#{name}'
              ) THEN
                  CREATE TYPE \"#{name}\" AS ENUM (#{sql_values});
              END IF;
          END
          $$;
        SQL
        exec_query(query)
      end

Defined in activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb line 472 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::ConnectionAdapters::PostgreSQLAdapter

Type at least 2 characters to search.

↑↓ navigate · open · esc close