| 169 | } |
| 170 | |
| 171 | func (c *Column) String() (string, error) { |
| 172 | var str strings.Builder |
| 173 | |
| 174 | str.WriteString(c.Name) |
| 175 | |
| 176 | str.WriteString(" ") |
| 177 | typeStr, err := c.Type.Format(c.Dialect, c.Size) |
| 178 | if err != nil { |
| 179 | return "", err |
| 180 | } |
| 181 | |
| 182 | str.WriteString(typeStr) |
| 183 | |
| 184 | if !c.Nullable { |
| 185 | str.WriteString(" NOT NULL") |
| 186 | } |
| 187 | |
| 188 | if c.Default.Set { |
| 189 | str.WriteString(" DEFAULT ") |
| 190 | val := c.Default.Value |
| 191 | if val == "" { |
| 192 | val = "''" |
| 193 | } |
| 194 | str.WriteString(val) |
| 195 | } |
| 196 | |
| 197 | if c.PrimaryKey { |
| 198 | str.WriteString(" PRIMARY KEY") |
| 199 | } |
| 200 | |
| 201 | return str.String(), nil |
| 202 | } |
| 203 | |
| 204 | func (b *CreateTableSqlBuilder) Column(column *Column) *CreateTableSqlBuilder { |
| 205 | if b.Columns == nil { |