github.com/paweljw/pop/v5@v5.4.6/dialect.go (about)

     1  package pop
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/gobuffalo/fizz"
     7  	"github.com/gobuffalo/pop/v5/columns"
     8  )
     9  
    10  type crudable interface {
    11  	SelectOne(store, *Model, Query) error
    12  	SelectMany(store, *Model, Query) error
    13  	Create(store, *Model, columns.Columns) error
    14  	Update(store, *Model, columns.Columns) error
    15  	Destroy(store, *Model) error
    16  }
    17  
    18  type fizzable interface {
    19  	FizzTranslator() fizz.Translator
    20  }
    21  
    22  type quotable interface {
    23  	Quote(key string) string
    24  }
    25  
    26  type dialect interface {
    27  	crudable
    28  	fizzable
    29  	quotable
    30  	Name() string
    31  	DefaultDriver() string
    32  	URL() string
    33  	MigrationURL() string
    34  	Details() *ConnectionDetails
    35  	TranslateSQL(string) string
    36  	CreateDB() error
    37  	DropDB() error
    38  	DumpSchema(io.Writer) error
    39  	LoadSchema(io.Reader) error
    40  	Lock(func() error) error
    41  	TruncateAll(*Connection) error
    42  }
    43  
    44  type afterOpenable interface {
    45  	AfterOpen(*Connection) error
    46  }