Zur13
Chieftain
- Joined
- Nov 7, 2018
- Messages
- 26
Ok, I've ran some tests, it seems it changes the in memory DB, but does not change debug DB dump on disk. But the problem is that the changes are ignored by the game so for the test I've added 2 civilization traits for Russia and then run the select query to check if the DB changed:
I had no Seowon district and Royal Dockyard playing Russia. But the console output shows that DB was changed:
I think that it maybe useful for the runtime Civilopedia edits which seems to use SQL queries to fill the content (Base\Assets\UI\Civilopedia\CivilopediaSupport.lua) and maybe in some cases for the in-mod data exchanges. Maybe if it was possible to run the lua script during UpdateDatabase phase?
Code:
local sqls = {
"insert into CivilizationTraits (CivilizationType, TraitType) values ('CIVILIZATION_RUSSIA', 'TRAIT_CIVILIZATION_DISTRICT_SEOWON');",
"insert into CivilizationTraits (CivilizationType, TraitType) values ('CIVILIZATION_RUSSIA', 'TRAIT_CIVILIZATION_ROYAL_NAVY_DOCKYARD');"
}
--******************************************************************************
function Initialize()
for i = 1, 2 do
local q = DB.Query(sqls[i]);
tprint(q, 8);
print( " Exec query", sqls[i], q );
dumpAAA(q);
end
local q = DB.Query("SELECT CivilizationType, TraitType from CivilizationTraits where CivilizationType = ?", "CIVILIZATION_RUSSIA");
tprint(q, 8);
dumpAAA(q);
end
I had no Seowon district and Royal Dockyard playing Russia. But the console output shows that DB was changed:
Spoiler console :
Code:
LuaScript1: Exec query insert into CivilizationTraits (CivilizationType, TraitType) values ('CIVILIZATION_RUSSIA', 'TRAIT_CIVILIZATION_DISTRICT_SEOWON'); table: 0000000050E27750
LuaScript1: Exec query insert into CivilizationTraits (CivilizationType, TraitType) values ('CIVILIZATION_RUSSIA', 'TRAIT_CIVILIZATION_ROYAL_NAVY_DOCKYARD'); table: 0000000050E277A0
LuaScript1: 1:
LuaScript1: TraitType: TRAIT_CIVILIZATION_DISTRICT_LAVRA
LuaScript1: CivilizationType: CIVILIZATION_RUSSIA
LuaScript1: 2:
LuaScript1: TraitType: TRAIT_CIVILIZATION_DISTRICT_SEOWON
LuaScript1: CivilizationType: CIVILIZATION_RUSSIA
LuaScript1: 3:
LuaScript1: TraitType: TRAIT_CIVILIZATION_MOTHER_RUSSIA
LuaScript1: CivilizationType: CIVILIZATION_RUSSIA
LuaScript1: 4:
LuaScript1: TraitType: TRAIT_CIVILIZATION_ROYAL_NAVY_DOCKYARD
LuaScript1: CivilizationType: CIVILIZATION_RUSSIA
LuaScript1: 5:
LuaScript1: TraitType: TRAIT_CIVILIZATION_UNIT_RUSSIAN_COSSACK
LuaScript1: CivilizationType: CIVILIZATION_RUSSIA
I think that it maybe useful for the runtime Civilopedia edits which seems to use SQL queries to fill the content (Base\Assets\UI\Civilopedia\CivilopediaSupport.lua) and maybe in some cases for the in-mod data exchanges. Maybe if it was possible to run the lua script during UpdateDatabase phase?
Last edited: