main.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. When using xorm, you can create multiple orm engines, an engine means a database.
  3. */
  4. package main
  5. import (
  6. // Core.
  7. "fmt"
  8. "os"
  9. // SQLite 3
  10. _ "github.com/mattn/go-sqlite3"
  11. // MySQL. Use either driver.
  12. // _ "github.com/go-sql-driver/mysql"
  13. // _ "github.com/ziutek/mymysql"
  14. // PostgreSQL
  15. // _ "github.com/lib/pq"
  16. // SQL Server
  17. // _ "github.com/lunny/godbc"
  18. // XORM.
  19. "github.com/go-xorm/xorm"
  20. // Others.
  21. // "github.com/davecgh/go-spew/spew"
  22. )
  23. var engine *xorm.Engine
  24. func check(err error) {
  25. if err != nil {
  26. fmt.Println(err.Error())
  27. os.Exit(1)
  28. }
  29. }
  30. func main() {
  31. var err error
  32. // NewEngine parameters are those of the SQL driver: driver and DSN.
  33. engine, err := xorm.NewEngine("sqlite3", "./test.db")
  34. check(err)
  35. fmt.Println("ORM loaded")
  36. // Enable built-in Logging features.
  37. engine.ShowSQL = true
  38. engine.ShowDebug = true
  39. engine.ShowErr = true
  40. engine.ShowWarn = true
  41. // Optional: declare a custom logger.
  42. f, err := os.Create("sql.log")
  43. check(err)
  44. engine.SetLogger(xorm.NewSimpleLogger(f))
  45. // Not needed: called automatically on exit.
  46. engine.Close()
  47. fmt.Println("ORM closed")
  48. }