github.com/gocaveman/caveman@v0.0.0-20191211162744-0ddf99dbdf6e/ddl/alter-table-stmt.go (about)

     1  package ddl
     2  
     3  type AlterTableRenameStmt struct {
     4  	*Builder
     5  
     6  	OldNameValue string
     7  	NewNameValue string
     8  }
     9  
    10  func (s *AlterTableRenameStmt) IsStmt() {}
    11  
    12  type AlterTableAddStmt struct {
    13  	*Builder
    14  
    15  	NameValue string // table name
    16  
    17  	DataTypeDef DataTypeDef
    18  }
    19  
    20  func (s *AlterTableAddStmt) IsStmt() {}
    21  
    22  func (s *AlterTableAddStmt) Column(name string, dataType DataType) *AlterTableAddStmt {
    23  	s.DataTypeDef = DataTypeDef{NameValue: name, DataTypeValue: dataType}
    24  	return s
    25  }
    26  
    27  func (s *AlterTableAddStmt) ColumnCustom(name, customSQL string) *AlterTableAddStmt {
    28  	s.DataTypeDef = DataTypeDef{NameValue: name, DataTypeValue: Custom, CustomSQLValue: customSQL}
    29  	return s
    30  }
    31  
    32  func (s *AlterTableAddStmt) Null() *AlterTableAddStmt {
    33  	s.DataTypeDef.NullValue = true
    34  	return s
    35  }
    36  
    37  func (s *AlterTableAddStmt) Default(value interface{}) *AlterTableAddStmt {
    38  	s.DataTypeDef.DefaultValue = value
    39  	return s
    40  }
    41  
    42  func (s *AlterTableAddStmt) Length(length int) *AlterTableAddStmt {
    43  	s.DataTypeDef.LengthValue = length
    44  	return s
    45  }
    46  
    47  func (s *AlterTableAddStmt) CaseSensitive() *AlterTableAddStmt {
    48  	s.DataTypeDef.CaseSensitiveValue = true
    49  	return s
    50  }