db_createfrom: Don't exec pre-/post-migration scripts

This commit is contained in:
2026-06-11 19:29:19 -04:00
parent 13ce72f9e5
commit f2aa8d5c15
3 changed files with 51 additions and 3 deletions
+49 -1
View File
@@ -104,8 +104,56 @@ function(cppbessot_db_action_collect_nonempty_sql_files out_var sql_dir)
set(${out_var} "${_sql_files}" PARENT_SCOPE)
endfunction()
function(cppbessot_db_action_is_migration_sql_file out_var sql_file)
get_filename_component(_filename "${sql_file}" NAME)
if("${_filename}" MATCHES "-[0-9]+-(pre|post)\\.sql$")
set(${out_var} TRUE PARENT_SCOPE)
return()
endif()
set(${out_var} FALSE PARENT_SCOPE)
endfunction()
function(cppbessot_db_action_collect_schema_sql_files out_var sql_dir)
cppbessot_db_action_collect_nonempty_sql_files(_candidate_files "${sql_dir}")
set(_sql_files)
foreach(_candidate IN LISTS _candidate_files)
cppbessot_db_action_is_migration_sql_file(_is_migration_sql "${_candidate}")
if(NOT _is_migration_sql)
list(APPEND _sql_files "${_candidate}")
endif()
endforeach()
set(${out_var} "${_sql_files}" PARENT_SCOPE)
endfunction()
function(cppbessot_db_action_migration_sort_key out_var sql_file)
get_filename_component(_filename "${sql_file}" NAME)
string(REGEX REPLACE "-([0-9]+)-pre\\.sql$" "-\\1-0-pre.sql" _sort_key "${_filename}")
string(REGEX REPLACE "-([0-9]+)-post\\.sql$" "-\\1-1-post.sql" _sort_key "${_sort_key}")
set(${out_var} "${_sort_key}" PARENT_SCOPE)
endfunction()
function(cppbessot_db_action_collect_migration_sql_files out_var sql_dir)
cppbessot_db_action_collect_nonempty_sql_files(_candidate_files "${sql_dir}")
set(_keyed_files)
foreach(_candidate IN LISTS _candidate_files)
cppbessot_db_action_is_migration_sql_file(_is_migration_sql "${_candidate}")
if(_is_migration_sql)
cppbessot_db_action_migration_sort_key(_sort_key "${_candidate}")
list(APPEND _keyed_files "${_sort_key}|${_candidate}")
endif()
endforeach()
list(SORT _keyed_files)
set(_sql_files)
foreach(_keyed_file IN LISTS _keyed_files)
string(REGEX REPLACE "^[^|]+\\|" "" _sql_file "${_keyed_file}")
list(APPEND _sql_files "${_sql_file}")
endforeach()
set(${out_var} "${_sql_files}" PARENT_SCOPE)
endfunction()
function(cppbessot_db_action_require_nonempty_sql_dir sql_dir failure_prefix)
cppbessot_db_action_collect_nonempty_sql_files(_sql_files "${sql_dir}")
cppbessot_db_action_collect_schema_sql_files(_sql_files "${sql_dir}")
if(NOT _sql_files)
message(FATAL_ERROR "${failure_prefix}: no non-empty SQL files found under ${sql_dir}")
endif()
+1 -1
View File
@@ -26,7 +26,7 @@ set(_ddl_dir "${_schema_dir}/generated-sql-ddl/${_backend_subdir}")
cppbessot_db_action_require_nonempty_sql_dir(
"${_ddl_dir}"
"db_createfrom cannot continue")
cppbessot_db_action_collect_nonempty_sql_files(_sql_files "${_ddl_dir}")
cppbessot_db_action_collect_schema_sql_files(_sql_files "${_ddl_dir}")
if("${_backend}" STREQUAL "sqlite")
cppbessot_db_action_reset_sqlite_db("${_sqlite_path}")
+1 -1
View File
@@ -29,7 +29,7 @@ cppbessot_db_action_prepare_proddev(
cppbessot_db_action_backend_subdir(_backend_subdir "${_backend}")
cppbessot_db_action_get_migration_dir_path(_migration_dir "${DB_MIGRATE_WITH}")
set(_sql_dir "${_migration_dir}/${_backend_subdir}")
cppbessot_db_action_collect_nonempty_sql_files(_sql_files "${_sql_dir}")
cppbessot_db_action_collect_migration_sql_files(_sql_files "${_sql_dir}")
cppbessot_db_action_get_hook_path(_pre_hook "${_migration_dir}" "pre-structural-backfill.sh")
cppbessot_db_action_get_hook_path(_post_hook "${_migration_dir}" "post-structural-backfill.sh")