annotate plugins/mod_debug_sql.lua @ 13920:2169be3581ae 13.0

migrator: Allow migrating between different configs of the same driver This was notably a problem with SQL since mod_storage_sql is a single module that connects to different SQL databases. The problem was that since it was already loaded once, the output configuration was not applied and it would have migrated to the origin database. This essentially reloads the module after updating the configuration, which should work with all storage modules as long as everything they need are kept in the 'provider' or driver table.
author Kim Alvefur <zash@zash.se>
date Sun, 03 Aug 2025 15:14:20 +0200
parents 5edb0d01a94f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7176
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 -- Enables SQL query logging
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 --
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 -- luacheck: ignore 213/uri
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4
8391
5edb0d01a94f mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents: 7176
diff changeset
5 module:set_global();
5edb0d01a94f mod_debug_sql: Declare itself as global module
Kim Alvefur <zash@zash.se>
parents: 7176
diff changeset
6
7176
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 local engines = module:shared("/*/sql/connections");
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 for uri, engine in pairs(engines) do
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 engine:debug(true);
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 end
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 setmetatable(engines, {
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 __newindex = function (t, uri, engine)
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 engine:debug(true);
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 rawset(t, uri, engine);
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 end
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 });
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 function module.unload()
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 setmetatable(engines, nil);
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 for uri, engine in pairs(engines) do
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 engine:debug(false);
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 end
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 end
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26
b8bbd5f91ad9 mod_debug_sql: Small plugin that enables raw SQL query logging (for debugging)
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27