github.com/rjgonzale/pop/v5@v5.1.3-dev/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 }