github.com/dkishere/pop/v6@v6.103.1/dialect.go (about) 1 package pop 2 3 import ( 4 "io" 5 6 "github.com/dkishere/pop/v6/columns" 7 "github.com/gobuffalo/fizz" 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 Delete(store, *Model, Query) error 17 } 18 19 type fizzable interface { 20 FizzTranslator() fizz.Translator 21 } 22 23 type quotable interface { 24 Quote(key string) string 25 } 26 27 type dialect interface { 28 crudable 29 fizzable 30 quotable 31 Name() string 32 DefaultDriver() string 33 URL() string 34 MigrationURL() string 35 Details() *ConnectionDetails 36 TranslateSQL(string) string 37 CreateDB() error 38 DropDB() error 39 DumpSchema(io.Writer) error 40 LoadSchema(io.Reader) error 41 Lock(func() error) error 42 TruncateAll(*Connection) error 43 } 44 45 type afterOpenable interface { 46 AfterOpen(*Connection) error 47 }