Upgrading To v1.8 From v1.7
Exciting New Features 🎉
Enhancements 🚀
- Add methods for Request(1.8.0)
- Add methods for Response(1.8.0)
- Optimize database migrate(1.8.0)
- Route supports HTTPS(1.8.3)
Breaking Changes 🛠
- Optimize import order(1.8.0)
- mock.Validator change name(1.8.0)
- support.Mysql change name(1.8.0)
- database.NewGormInstance is about to be deprecated(1.8.0)
Bug Fixes 🐛
Upgrade Guide
Estimated Upgrade Time: 1 Minutes
Updating Dependencies
Update dependencies in the go.mod file:
go get -u github.com/goravel/framework@v1.8.3Add model association for Orm
Version: v1.8.0
Add methods for Orm, to handle model association:
| Method | Action |
|---|---|
| Association | Association |
| DB | Generic Database Interface sql.DB |
| Load | Lazy Eager Loading |
| LoadMissing | Lazy Eager Loading(not exist) |
| Omit | Omit associations |
| With | Eager Loading |
Add methods for Request
Version: v1.8.0
Add methods for ctx.Request(), to enrich the format of Query parameters:
| Method | Action |
|---|---|
QueryArray | Get the array parameters |
QueryMap | Get the map parameters |
Add-methods-for-Response
Version: v1.8.0
Add Origin method to ctx.Response(), you can get all information of Response in the HTTP middleware.
Optimize import order
Version: v1.8.0
The import order in the bootstrap/app.go file change to:
package bootstrap
import (
"github.com/goravel/framework/foundation"
"goravel/config"
)Optimize database migrate
Version: v1.8.0
Run the command that generate the migrate file: go run . artisan make:migration create_users_table, the corresponding migration file will be generated based on the default database driver currently in use(facades.Config.GetString("database.default")).
mock.Validator Change Name
Version: v1.8.0
If you use mock.Validator to write unit tests, the following modifications are required:
import "github.com/goravel/framework/testing/mock"
mock.Validator
// Modify to
import "github.com/goravel/framework/testing/mock"
mock.Validationsupport.Mysql Change Name
Version: v1.8.0
If you use framework constants such as support.Mysql to judge the database driver, you need to make the following modifications:
import "github.com/goravel/framework/database/support"
support.Mysql
support.Postgresql
support.Sqlite
support.Sqlserver
// Modify to
import "github.com/goravel/framework/contracts/database/orm"
orm.Mysql
orm.Postgresql
orm.Sqlite
orm.SqlserverThe new constants such as orm.Mysql are of type orm.Driver and can be converted to a string type using the orm.Mysql.String() method.
database.NewGormInstance is about to be deprecated
Version: v1.8.0
The database.NewGormInstance method will be deprecated in v1.9.0 version, it can be used in current version, if you use the method to get the gorm instance, the following modifications are required:
import "github.com/goravel/framework/database"
gorm, err := database.NewGormInstance(connection)
// Modify to
import "github.com/goravel/framework/database/gorm"
gorm, err := gorm.New(connection)Fix Orm concurrency safety issue
Version: v1.8.1
When high concurrent access, reading facades.Orm for the first time may return nil.
Fix Mail module can't send mail by 25 and 465 ports
Version: v1.8.2
You can send mail by 25, 465, 587 ports now.
Route supports HTTPS
Version: v1.8.3
facades.Route Add RunTLS method,support start HTTPS server, For Detail.
