instance method
create_enum
Ruby on Rails 7.0.10
Since v7.0.10Signature
create_enum(name, values)
Given a name and an array of values, creates an enum type.
Parameters
-
namereq -
valuesreq
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