mirror of
https://gitee.com/johng/gf
synced 2026-06-06 02:25:47 +08:00
This pull request upgrades the GoFrame framework and all related dependencies from version `v2.9.8` (and similar) to `v2.10.0` across the codebase. It also refactors the `.make_version.sh` script to improve cross-platform compatibility when editing files, and ensures documentation reflects the new version. These changes help keep the project up-to-date and simplify version management. **Dependency upgrades:** * Updated all `go.mod` files in the main repo and contrib modules to require `github.com/gogf/gf/v2 v2.10.0` (replacing `v2.9.8` and similar) for consistency and latest features/bugfixes. [[1]](diffhunk://#diff-ee0abb9c50b9f91f424349123e31b7b1ba1e1e4f7497250422696c5bda2e74ceL6-R12) [[2]](diffhunk://#diff-cef597d401b6dad225f9e2e431bdde7e53cb60bdf287624cef38a6a7bb9ae7a3L7-R7) [[3]](diffhunk://#diff-970f7eacff9cd97a0d8a00d59ea8041eedaa21c7544c6669aaa58ca692c6b274L6-R6) [[4]](diffhunk://#diff-c23d0ca80cd6588b7df84de8ef84713f0ce0555ba05d2d9e7f5d1e0324b1ed3aL6-R6) [[5]](diffhunk://#diff-aa230a2b1198e6ef8afeb7f48335eb2e2f51d87d918d63c4d891fea612d18ff0L6-R6) [[6]](diffhunk://#diff-86c2390edbede20803cd862908fe95e7207f7dbabd5089ddd4838e1f26e7fecaL6-R6) [[7]](diffhunk://#diff-5e1af33d38ced461fc0e13981d7051e125876d1692efc3aa9cb4b7faa4c18addL7-R7) [[8]](diffhunk://#diff-8c6247829130f219981483ccf25af699a63de99afedeb0dd5c1b7bd8ff0919bdL9-R9) [[9]](diffhunk://#diff-accbd2d37d45e51db3fcb0468043b1e1fd53eeac9e3d3558467ef24444188d2fL7-R7) [[10]](diffhunk://#diff-15fac9b8e76d2782594c91da72f6a6f42fc18e359c3be35bf6564ac3ca09f700L6-R7) [[11]](diffhunk://#diff-8e1a76afd564b6073aac7b02ca59f296ae45a24da3dc4d5c40f18169f48ceba1L6-R6) [[12]](diffhunk://#diff-00a9db26966c21305c72e8f659628dffaff0d6e9dc98a751406d2141d51a5d90L7-R7) [[13]](diffhunk://#diff-2cbf2f66d5cb77d9f4d00e4c0ce45055620fff50c941a588da31729f09a81f1bL6-R7) [[14]](diffhunk://#diff-20a21d07addeea398c4adb76d077875894a73b4b5b181b9df1fafe497d3fc843L6-R6) [[15]](diffhunk://#diff-909670f1c29b0bba24faf1420504b9eacdff124c4cbbec1ddec5de60653ad007L6-R6) [[16]](diffhunk://#diff-8eef5f0c081743f8002e0faba686e838b323cb53b749706ea42e0440aaa793f1L7-R7) [[17]](diffhunk://#diff-82345842a29e8eaffa4f51aab96fa2aa78597e6639fe4b0ece797bc60edacea8L6-R6) **Script improvements:** * Refactored `.make_version.sh` to use a new `sed_inplace` function for in-place file editing, improving cross-platform support (Linux/macOS) and removing reliance on a global variable for the sed command. * Updated `.make_version.sh` to use `sed_inplace` consistently for version replacement and dependency cleanup steps, ensuring robust file modification regardless of OS. [[1]](diffhunk://#diff-546db9206ba1b7973e6187a1025b3904a0b08681d40d0ee4767082040fd0f661L46-R47) [[2]](diffhunk://#diff-546db9206ba1b7973e6187a1025b3904a0b08681d40d0ee4767082040fd0f661L84-R97) * Added a step in `.make_version.sh` to insert local development replace directives for Go modules, streamlining local testing and development. **Documentation updates:** * Updated contributor badge version in `README.MD` and `README.zh_CN.MD` to reflect the new GoFrame version (`v2.10.0`). [[1]](diffhunk://#diff-01e6d9ffed056a02cae8d8a0ec5d476a64d017bf85c0d5a94bb23ca21f33f5aaL48-R48) [[2]](diffhunk://#diff-c93759cb9a9500f20e551c741eb167fc72825fd638d36121357feb8253ce6ac1L48-R48)
Database drivers
Powerful database drivers for package gdb.
Installation
Let's take mysql for example.
go get github.com/gogf/gf/contrib/drivers/mysql/v2@latest
# Easy for copying:
go get github.com/gogf/gf/contrib/drivers/clickhouse/v2@latest
go get github.com/gogf/gf/contrib/drivers/dm/v2@latest
go get github.com/gogf/gf/contrib/drivers/gaussdb/v2@latest
go get github.com/gogf/gf/contrib/drivers/mariadb/v2@latest
go get github.com/gogf/gf/contrib/drivers/mssql/v2@latest
go get github.com/gogf/gf/contrib/drivers/oceanbase/v2@latest
go get github.com/gogf/gf/contrib/drivers/oracle/v2@latest
go get github.com/gogf/gf/contrib/drivers/pgsql/v2@latest
go get github.com/gogf/gf/contrib/drivers/sqlite/v2@latest
go get github.com/gogf/gf/contrib/drivers/sqlitecgo/v2@latest
go get github.com/gogf/gf/contrib/drivers/tidb/v2@latest
Choose and import the driver to your project:
import _ "github.com/gogf/gf/contrib/drivers/mysql/v2"
Commonly imported at top of main.go:
package main
import (
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
// Other imported packages.
)
func main() {
// Main logics.
}
Supported Drivers
MySQL
import _ "github.com/gogf/gf/contrib/drivers/mysql/v2"
MariaDB
import _ "github.com/gogf/gf/contrib/drivers/mariadb/v2"
TiDB
import _ "github.com/gogf/gf/contrib/drivers/tidb/v2"
OceanBase
import _ "github.com/gogf/gf/contrib/drivers/oceanbase/v2"
GaussDB
import _ "github.com/gogf/gf/contrib/drivers/gaussdb/v2"
SQLite
import _ "github.com/gogf/gf/contrib/drivers/sqlite/v2"
cgo version
When the target is a 32-bit Windows system, the cgo version needs to be used.
import _ "github.com/gogf/gf/contrib/drivers/sqlitecgo/v2"
PostgreSQL
import _ "github.com/gogf/gf/contrib/drivers/pgsql/v2"
SQL Server
import _ "github.com/gogf/gf/contrib/drivers/mssql/v2"
Note:
InsertIgnorereturns error if there is no primary key or unique index submitted with record.- It supports server version >=
SQL Server2005 - It ONLY supports
datetime2anddatetimeoffsettypes for auto handling created_at/updated_at/deleted_at columns, because datetime type does not support microseconds precision when column value is passed as string.
Oracle
import _ "github.com/gogf/gf/contrib/drivers/oracle/v2"
Note:
- It does not support
LastInsertId. InsertIgnorereturns error if there is no primary key or unique index submitted with record.
ClickHouse
import _ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
Note:
- It does not support
InsertIgnore/InsertAndGetIdfeatures. - It does not support
Save/Replacefeatures. - It does not support
Transactionfeature. - It does not support
RowsAffectedfeature.
DM
import _ "github.com/gogf/gf/contrib/drivers/dm/v2"
Note:
InsertIgnorereturns error if there is no primary key or unique index submitted with record.
Custom Drivers
It's quick and easy, please refer to current driver source. It's quite appreciated if any PR for new drivers support into current repo.