mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-10-08 02:56:41 +08:00
test sqlite sql
This commit is contained in:
parent
235024fc3c
commit
e9a76495d0
@ -14,6 +14,7 @@ require (
|
||||
github.com/forgoer/openssl v1.4.0
|
||||
github.com/go-pay/gopay v1.5.91
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.6.4
|
||||
github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.6.4
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.6.4
|
||||
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.6.4
|
||||
github.com/gogf/gf/v2 v2.6.4
|
||||
@ -63,6 +64,7 @@ require (
|
||||
github.com/fatih/color v1.16.0 // indirect
|
||||
github.com/fatih/structs v1.1.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||
github.com/glebarez/go-sqlite v1.21.2 // indirect
|
||||
github.com/go-logr/logr v1.4.1 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||
@ -103,6 +105,7 @@ require (
|
||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
|
||||
github.com/redis/go-redis/v9 v9.5.1 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/richardlehane/mscfb v1.0.4 // indirect
|
||||
github.com/richardlehane/msoleps v1.0.1 // indirect
|
||||
github.com/rivo/uniseg v0.4.7 // indirect
|
||||
@ -132,5 +135,9 @@ require (
|
||||
golang.org/x/text v0.14.0 // indirect
|
||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
modernc.org/libc v1.22.5 // indirect
|
||||
modernc.org/mathutil v1.5.0 // indirect
|
||||
modernc.org/memory v1.5.0 // indirect
|
||||
modernc.org/sqlite v1.23.1 // indirect
|
||||
stathat.com/c/consistent v1.0.0 // indirect
|
||||
)
|
||||
|
@ -140,6 +140,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo
|
||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
|
||||
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
|
||||
github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9gAXWo=
|
||||
github.com/glebarez/go-sqlite v1.21.2/go.mod h1:sfxdZyhQjTM2Wry3gVYWaW072Ri1WMdWJi0k6+3382k=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||
@ -172,6 +174,8 @@ github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/me
|
||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.6.4 h1:ScG3YcYMDEP/UrwNtwQPt2noySa5ZpoV7BxrwaeBaro=
|
||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.6.4/go.mod h1:oFFE9u1zHkxVXk7ZkNipXQR9JFyDZDiixZy243ywhfQ=
|
||||
github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.6.4 h1:eJYZCJIqybMV6oJY7J7clWTNqx0yzZI7CaUn31igBGc=
|
||||
github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.6.4/go.mod h1:3q/YKn6NL7KkUdT6nw93eM5d1QjmX/+b+CPiIm/aLiA=
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.6.4 h1:43517FF//GKgGpb4pxHl3NWLxW/inTAQ7rUFnfUIoYY=
|
||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.6.4/go.mod h1:9qNdKgqB+tHC9XczIoMzfSHmWkphQMXqxJXF6g9Icr4=
|
||||
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.6.4 h1:PV0V2CPspwC+qgmqMC7qjCFkxH/SkfLwC0fg26ZTY54=
|
||||
@ -245,6 +249,7 @@ github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf
|
||||
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
@ -412,6 +417,9 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5X
|
||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8=
|
||||
github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=
|
||||
github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk=
|
||||
github.com/richardlehane/msoleps v1.0.1 h1:RfrALnSNXzmXLbGct/P2b4xkFz4e8Gmj/0Vj9M9xC1o=
|
||||
@ -887,6 +895,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
|
||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||
modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE=
|
||||
modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY=
|
||||
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
|
||||
modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||
modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
|
||||
modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
|
||||
modernc.org/sqlite v1.23.1 h1:nrSBg4aRQQwq59JpvGEQ15tNxoO5pX/kUjcRNwSAGQM=
|
||||
modernc.org/sqlite v1.23.1/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk=
|
||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||
|
@ -8,13 +8,15 @@ package main
|
||||
import (
|
||||
_ "hotgo/internal/packed"
|
||||
|
||||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||||
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
_ "hotgo/addons/modules"
|
||||
"hotgo/internal/cmd"
|
||||
"hotgo/internal/global"
|
||||
_ "hotgo/internal/logic"
|
||||
|
||||
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
|
||||
_ "github.com/gogf/gf/contrib/drivers/sqlite/v2"
|
||||
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
5579
server/storage/data/converted_sqlite.sql
Normal file
5579
server/storage/data/converted_sqlite.sql
Normal file
File diff suppressed because one or more lines are too long
32
server/storage/data/docker-compose.yml
Normal file
32
server/storage/data/docker-compose.yml
Normal file
@ -0,0 +1,32 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
mariadb:
|
||||
image: mariadb:11.2.2-jammy
|
||||
container_name: mariadb
|
||||
restart: always
|
||||
environment:
|
||||
# MYSQL_USER: adminer
|
||||
# MYSQL_PASSWORD: adminer
|
||||
# MYSQL_DATABASE: test
|
||||
MARIADB_ROOT_PASSWORD: root
|
||||
MARIADB_USER: adminer
|
||||
MARIADB_PASSWORD: adminer
|
||||
MARIADB_DATABASE: test
|
||||
ports:
|
||||
- 3306:3306
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
adminer:
|
||||
image: adminer:4.8.1-standalone
|
||||
container_name: adminer
|
||||
environment:
|
||||
ADMINER_DEFAULT_SERVER: mariadb
|
||||
restart: always
|
||||
ports:
|
||||
- 47201:8080
|
||||
redis:
|
||||
image: redis:7.2.4-alpine
|
||||
ports:
|
||||
- 6379:6379
|
||||
volumes:
|
||||
db_data:
|
5587
server/storage/data/hotgo.adminer.sql
Normal file
5587
server/storage/data/hotgo.adminer.sql
Normal file
File diff suppressed because one or more lines are too long
5559
server/storage/data/hotgo.adminer.sqlite.sql
Normal file
5559
server/storage/data/hotgo.adminer.sqlite.sql
Normal file
File diff suppressed because one or more lines are too long
68
server/storage/data/mysql2sqlite.sh
Executable file
68
server/storage/data/mysql2sqlite.sh
Executable file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
# leehom Chen <clh021@gmail.com>
|
||||
|
||||
# 确保脚本所在目录作为当前工作目录
|
||||
script_dir=$(dirname "${BASH_SOURCE[0]}")
|
||||
cd "$script_dir" || exit
|
||||
|
||||
# 检查输入文件是否存在
|
||||
# if [[ ! -f "$1" ]]; then
|
||||
# echo "Please provide the MySQL dump file as an argument."
|
||||
# exit 1
|
||||
# fi
|
||||
pwd
|
||||
|
||||
# 定义输入输出文件路径
|
||||
input_file="sqlite.sql"
|
||||
output_file="converted_sqlite.sql"
|
||||
|
||||
# 解析并转换SQL脚本
|
||||
while IFS= read -r line; do
|
||||
|
||||
# 删除所有以 'SET '(注意空格)开头的行
|
||||
if [[ "$line" =~ ^[[:space:]]*SET ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# 删除以 '/*!' 开头的行
|
||||
if [[ "$line" =~ ^/*/ ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# 删除以 '--' 开头的行(注释行)
|
||||
if [[ "$line" =~ ^-- ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# 删除空行
|
||||
if [[ -z "$line" ]]; then
|
||||
continue
|
||||
fi
|
||||
# 替换 AUTO_INCREMENT 为 INTEGER PRIMARY KEY AUTOINCREMENT
|
||||
# line=$(echo "$line" | sed -E 's/(CREATE TABLE.*\()(.*,\) /\\1\\2 INTEGER PRIMARY KEY AUTOINCREMENT,/g' -e 's/AUTO_INCREMENT//g')
|
||||
|
||||
# 删除引擎设置(SQLite不需要)
|
||||
# 移除 'ENGINE=InnoDB'
|
||||
line="${line/ ENGINE=InnoDB/}"
|
||||
|
||||
# 处理 'COMMENT ' 字符串
|
||||
if [[ "$line" =~ \s*COMMENT\s*=\s*'[^']* ]]; then
|
||||
# 获取COMMENT内容及其后的字符
|
||||
comment_and_suffix="${BASH_REMATCH[1]}"
|
||||
suffix="${comment_and_suffix##*}"
|
||||
comment="${comment_and_suffix%}*}"
|
||||
line="${line/$comment_and_suffix/,-- $comment$suffix}"
|
||||
fi
|
||||
|
||||
# 处理 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
# line=$(echo "$line" | sed 's/TIMESTAMP DEFAULT CURRENT_TIMESTAMP/TIMESTAMP NULL/g')
|
||||
|
||||
# 输出转换后的行
|
||||
echo "$line"
|
||||
done <"$input_file" >"$output_file"
|
||||
|
||||
# 回到原始目录
|
||||
cd - || exit
|
||||
|
||||
# 显示转换后的文件路径
|
||||
printf "Converted file saved at: %s\n" "$output_file"
|
10
server/storage/data/restore.sh
Executable file
10
server/storage/data/restore.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
# leehom Chen clh021@gmail.com
|
||||
cd "$( dirname "${BASH_SOURCE[0]}" )" || exit
|
||||
file="test.db"
|
||||
if [ -f "$file" ]; then
|
||||
echo "Deleting $file..."
|
||||
rm "$file"
|
||||
fi
|
||||
echo "Restore $file..."
|
||||
sqlite3 test.db ".read sqlite.sql"
|
5454
server/storage/data/sqlite.sql
Normal file
5454
server/storage/data/sqlite.sql
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user