added option do_migration_to_winix_fullmorm do the config (only temporarily)

if true then we make Item::do_migration() and exit
This commit is contained in:
Tomasz Sowa 2021-04-14 14:13:47 +02:00
parent 4b71530f4c
commit ccda2bc2fd
3 changed files with 28 additions and 17 deletions

View File

@ -286,12 +286,16 @@ bool App::Init()
//model_connector.set_doc_connector(doc_html_connector);
// temporary
Item item_temp;
item_temp.set_connector(model_connector);
item_temp.do_migration(&model_connector);
//std::exit(0);
// -----------
if( config.space.to_bool(L"do_migration_to_winix_fullmorm", false) )
{
Item item_temp;
item_temp.set_connector(model_connector);
item_temp.do_migration(&model_connector, log);
log << log1 << "Migrations complete, now remove do_migration_to_winix_fullmorm from the config" << logend;
std::exit(0);
}
/////////////
db_conn.SetConnParam(config.db_database, config.db_user, config.db_pass);
db_conn.WaitForConnection();

View File

@ -223,21 +223,23 @@ return !is_that_url;
}
void Item::do_migration(morm::ModelConnector * model_connector)
void Item::do_migration(morm::ModelConnector * model_connector, Log & log)
{
return;
///////
morm::Finder<Item> finder(model_connector);
std::list<Item> list = finder.select().where().eq(L"type", static_cast<int>(Item::dir)).eq(L"content_id", -1).get_list();
// for(Item & item : list)
// {
// item.item_content.set_save_mode(morm::Model::DO_INSERT_ON_SAVE);
// item.save();
// }
std::list<Item> list = finder.
select().
where().
eq(L"type", static_cast<int>(Item::dir)).
eq(L"content_id", -1).
get_list();
for(Item & item : list)
{
log << "updating item id: " << item.id << ", type: " << (int)item.type << ", url: " << item.url << ", subject: " << item.subject << logend << logsave;
item.item_content.set_save_mode(morm::Model::DO_INSERT_ON_SAVE);
item.save();
}
}
void Item::propagate_connector()

View File

@ -40,6 +40,11 @@
#include "models/itemcontent.h"
// temporary
#include "core/log.h"
namespace Winix
{
@ -173,7 +178,7 @@ public:
/*
* temporary
*/
static void do_migration(morm::ModelConnector * model_connector);
void do_migration(morm::ModelConnector * model_connector, Log & log);
void propagate_connector();