struct Prostore::Schema::Index

Overview

An index declaration (ADR-0005).

#name is the resolved index name in the live database — derived by default from <table>_<columns>_idx, or set explicitly via the name: option. The tag is the stable identity; the name is a label that can change freely.

Defined in:

prostore/schema/index.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(tag : Int32, name : String, columns : Array(String), unique : Bool, where_sql : String | Nil) #

[View source]

Instance Method Detail

def clone #

[View source]
def columns : Array(String) #

def copy_with(tag _tag = @tag, name _name = @name, columns _columns = @columns, unique _unique = @unique, where_sql _where_sql = @where_sql) #

[View source]
def name : String #

def tag : Int32 #

def unique : Bool #

def where_sql : String | Nil #