mirror of
https://github.com/latentPrion/cppbessot.git
synced 2026-06-23 15:18:37 +00:00
db_createfrom: Don't exec pre-/post-migration scripts
This commit is contained in:
@@ -104,8 +104,56 @@ function(cppbessot_db_action_collect_nonempty_sql_files out_var sql_dir)
|
|||||||
set(${out_var} "${_sql_files}" PARENT_SCOPE)
|
set(${out_var} "${_sql_files}" PARENT_SCOPE)
|
||||||
endfunction()
|
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)
|
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)
|
if(NOT _sql_files)
|
||||||
message(FATAL_ERROR "${failure_prefix}: no non-empty SQL files found under ${sql_dir}")
|
message(FATAL_ERROR "${failure_prefix}: no non-empty SQL files found under ${sql_dir}")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ set(_ddl_dir "${_schema_dir}/generated-sql-ddl/${_backend_subdir}")
|
|||||||
cppbessot_db_action_require_nonempty_sql_dir(
|
cppbessot_db_action_require_nonempty_sql_dir(
|
||||||
"${_ddl_dir}"
|
"${_ddl_dir}"
|
||||||
"db_createfrom cannot continue")
|
"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")
|
if("${_backend}" STREQUAL "sqlite")
|
||||||
cppbessot_db_action_reset_sqlite_db("${_sqlite_path}")
|
cppbessot_db_action_reset_sqlite_db("${_sqlite_path}")
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ cppbessot_db_action_prepare_proddev(
|
|||||||
cppbessot_db_action_backend_subdir(_backend_subdir "${_backend}")
|
cppbessot_db_action_backend_subdir(_backend_subdir "${_backend}")
|
||||||
cppbessot_db_action_get_migration_dir_path(_migration_dir "${DB_MIGRATE_WITH}")
|
cppbessot_db_action_get_migration_dir_path(_migration_dir "${DB_MIGRATE_WITH}")
|
||||||
set(_sql_dir "${_migration_dir}/${_backend_subdir}")
|
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(_pre_hook "${_migration_dir}" "pre-structural-backfill.sh")
|
||||||
cppbessot_db_action_get_hook_path(_post_hook "${_migration_dir}" "post-structural-backfill.sh")
|
cppbessot_db_action_get_hook_path(_post_hook "${_migration_dir}" "post-structural-backfill.sh")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user