feat: Optimize the table creation statement (#495)

This commit is contained in:
Ryo
2025-08-02 21:15:11 +08:00
committed by GitHub
parent d11aa71c0a
commit f094abe2fd
8 changed files with 221 additions and 199 deletions

View File

@ -40,13 +40,14 @@ build_server:
@echo "Building server..."
@bash $(BUILD_SERVER_SCRIPT)
sync_db:
sync_db: env
@echo "Syncing database..."
@docker compose -f $(COMPOSE_FILE) --env-file $(ENV_FILE) --profile mysql-setup up -d
dump_db: dump_sql_schema
dump_db: env dump_sql_schema
@echo "Dumping database..."
@bash $(DUMP_DB_SCRIPT)
@. $(ENV_FILE); \
bash $(DUMP_DB_SCRIPT)
sql_init:
@echo "Init sql data..."
@ -85,6 +86,7 @@ dump_sql_schema:
@. $(ENV_FILE); \
{ echo "SET NAMES utf8mb4;\nCREATE DATABASE IF NOT EXISTS opencoze COLLATE utf8mb4_unicode_ci;"; atlas schema inspect -u $$ATLAS_URL --format "{{ sql . }}" --exclude "atlas_schema_revisions,table_*" | sed 's/CREATE TABLE/CREATE TABLE IF NOT EXISTS/g'; } > $(MYSQL_SCHEMA)
@sed -i.bak -E 's/(\))[[:space:]]+CHARSET utf8mb4/\1 ENGINE=InnoDB CHARSET utf8mb4/' $(MYSQL_SCHEMA) && rm -f $(MYSQL_SCHEMA).bak
@sed -i.bak "s/\"/'/g" $(MYSQL_SCHEMA) && rm -f $(MYSQL_SCHEMA).bak
@cat $(MYSQL_INIT_SQL) >> $(MYSQL_SCHEMA)
@echo "Dumping mysql schema to helm/charts/opencoze/files/mysql ..."
@cp $(MYSQL_SCHEMA) ./helm/charts/opencoze/files/mysql/