+17
-8
@@ -3,14 +3,16 @@ package schema
|
||||
import (
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"git.gdulai.com/gdulai/simpleorm/util"
|
||||
)
|
||||
|
||||
type Constraint struct {
|
||||
Name string
|
||||
Type string
|
||||
Columns []Column
|
||||
RefTable *Table
|
||||
RefColumns []Column
|
||||
Name string
|
||||
Type string
|
||||
Columns []Column
|
||||
RefTypeName string
|
||||
RefColumns []Column
|
||||
}
|
||||
|
||||
func (c *Constraint) GetDDL() (string, error) {
|
||||
@@ -26,7 +28,9 @@ func (c *Constraint) GetDDL() (string, error) {
|
||||
|
||||
func (c *Constraint) getPkDDL() string {
|
||||
var ddl strings.Builder
|
||||
ddl.WriteString("CONSTRAINT " + c.Name + " PRIMARY KEY(")
|
||||
ddl.WriteString("CONSTRAINT ")
|
||||
ddl.WriteString(c.Name)
|
||||
ddl.WriteString(" PRIMARY KEY(")
|
||||
for i, col := range c.Columns {
|
||||
if i != 0 {
|
||||
ddl.WriteString(", ")
|
||||
@@ -39,7 +43,9 @@ func (c *Constraint) getPkDDL() string {
|
||||
|
||||
func (c *Constraint) getFkDDL() string {
|
||||
var ddl strings.Builder
|
||||
ddl.WriteString("CONSTRAINT " + c.Name + " FOREIGN KEY(")
|
||||
ddl.WriteString("CONSTRAINT ")
|
||||
ddl.WriteString(c.Name)
|
||||
ddl.WriteString(" FOREIGN KEY(")
|
||||
|
||||
for i, col := range c.Columns {
|
||||
if i != 0 {
|
||||
@@ -47,7 +53,10 @@ func (c *Constraint) getFkDDL() string {
|
||||
}
|
||||
ddl.WriteString(col.Name)
|
||||
}
|
||||
ddl.WriteString(") REFERENCES " + c.RefTable.Name + "(")
|
||||
|
||||
ddl.WriteString(") REFERENCES ")
|
||||
ddl.WriteString(util.CamelToSnake(c.RefTypeName))
|
||||
ddl.WriteString("(")
|
||||
|
||||
for i, col := range c.RefColumns {
|
||||
if i != 0 {
|
||||
|
||||
Reference in New Issue
Block a user