mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-12 06:54:04 +00:00
Dropped calender group id column from notizzuordnung and update migrateKalender commands
This commit is contained in:
@@ -454,14 +454,14 @@ class MigrateKalender extends CLI_Controller
|
||||
$db->db->query("DELETE FROM public.tbl_notiz
|
||||
WHERE notiz_id IN (
|
||||
SELECT notiz_id
|
||||
FROM public.tbl_notizzuordnung
|
||||
FROM lehre.tbl_kalender_notiz
|
||||
WHERE eindeutige_kalender_gruppen_id IN (
|
||||
SELECT eindeutige_kalender_gruppen_id
|
||||
FROM lehre.tbl_kalender
|
||||
)
|
||||
)");
|
||||
|
||||
$db->db->query("DELETE FROM public.tbl_notizzuordnung
|
||||
$db->db->query("DELETE FROM lehre.tbl_kalender_notiz
|
||||
WHERE eindeutige_kalender_gruppen_id IN (
|
||||
SELECT eindeutige_kalender_gruppen_id
|
||||
FROM lehre.tbl_kalender
|
||||
@@ -771,7 +771,7 @@ class MigrateKalender extends CLI_Controller
|
||||
|
||||
$this->load->model('person/Notiz_model', 'NotizModel');
|
||||
$this->load->model('system/Notiztyp_model', 'NotiztypModel');
|
||||
$this->load->model('person/Notizzuordnung_model', 'NotizzuordnungModel');
|
||||
$this->load->model('ressource/KalenderNotiz_model', 'KalenderNotizModel');
|
||||
|
||||
$checkTyp = $this->NotiztypModel->loadWhere(array('typ_kurzbz' => $notizType));
|
||||
|
||||
@@ -788,16 +788,16 @@ class MigrateKalender extends CLI_Controller
|
||||
}
|
||||
|
||||
|
||||
$this->NotizzuordnungModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_notizzuordnung.notiz_id', 'LEFT');
|
||||
$this->NotizzuordnungModel->db->where('tbl_notiz.typ', $notizType);
|
||||
$this->NotizzuordnungModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
|
||||
$oldNotizZuordnung = $this->NotizzuordnungModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
|
||||
if (isError($oldNotizZuordnung))
|
||||
$this->KalenderNotizModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_kalender_notiz.notiz_id', 'LEFT');
|
||||
$this->KalenderNotizModel->db->where('tbl_notiz.typ', $notizType);
|
||||
$this->KalenderNotizModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
|
||||
$oldKalenderNotiz = $this->KalenderNotizModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
|
||||
if (isError($oldKalenderNotiz))
|
||||
{
|
||||
error("Error occurred while checking Notizzuordnung: " . $oldNotizZuordnung->message);
|
||||
error("Error occurred while checking KalenderNotiz: " . $oldKalenderNotiz->message);
|
||||
return false;
|
||||
}
|
||||
if (hasData($oldNotizZuordnung))
|
||||
if (hasData($oldKalenderNotiz))
|
||||
{
|
||||
return $this->updateTag($eindeutige_kalender_gruppen_id, $notizText, $lastUpdatedInOldSystem);
|
||||
}
|
||||
@@ -819,14 +819,14 @@ class MigrateKalender extends CLI_Controller
|
||||
return false;
|
||||
}
|
||||
|
||||
$insertZuordnung = $this->NotizzuordnungModel->insert(array(
|
||||
$insertKalenderNotiz = $this->KalenderNotizModel->insert(array(
|
||||
'notiz_id' => $insertResult->retval,
|
||||
'eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id
|
||||
));
|
||||
|
||||
if (isError($insertZuordnung))
|
||||
if (isError($insertKalenderNotiz))
|
||||
{
|
||||
error("Error occurred while inserting Notizzuordnung: " . $insertZuordnung->message);
|
||||
error("Error occurred while inserting KalenderNotiz: " . $insertKalenderNotiz->message);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -838,18 +838,18 @@ class MigrateKalender extends CLI_Controller
|
||||
$notizType = 'hinweis';
|
||||
$insertvonMockUser = 'oldToNewTempusMigration';
|
||||
|
||||
$this->NotizzuordnungModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_notizzuordnung.notiz_id', 'LEFT');
|
||||
$this->NotizzuordnungModel->db->where('tbl_notiz.typ', $notizType);
|
||||
$this->NotizzuordnungModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
|
||||
$notizZuordnungRes = $this->NotizzuordnungModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
|
||||
if (isError($notizZuordnungRes))
|
||||
$this->KalenderNotizModel->addJoin('tbl_notiz', 'tbl_notiz.notiz_id = tbl_kalender_notiz.notiz_id', 'LEFT');
|
||||
$this->KalenderNotizModel->db->where('tbl_notiz.typ', $notizType);
|
||||
$this->KalenderNotizModel->db->where('tbl_notiz.insertvon', $insertvonMockUser);
|
||||
$kalenderNotizRes = $this->KalenderNotizModel->loadWhere(array('eindeutige_kalender_gruppen_id' => $eindeutige_kalender_gruppen_id));
|
||||
if (isError($kalenderNotizRes))
|
||||
{
|
||||
error("Error occurred while loading Notizzuordnung: " . $notizZuordnungRes->message);
|
||||
error("Error occurred while loading KalenderNotiz: " . $kalenderNotizRes->message);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$tag = $this->NotizModel->loadWhere(array('notiz_id' => $notizZuordnungRes->retval[0]->notiz_id));
|
||||
$tag = $this->NotizModel->loadWhere(array('notiz_id' => $kalenderNotizRes->retval[0]->notiz_id));
|
||||
if (isError($tag))
|
||||
{
|
||||
error("Error occurred while loading Notiz: " . $tag->message);
|
||||
@@ -858,7 +858,7 @@ class MigrateKalender extends CLI_Controller
|
||||
|
||||
if (!hasData($tag))
|
||||
{
|
||||
error("Error occurred while loading Notiz: " . $tag->message);
|
||||
error("Error occurred while loading KalenderNotiz: " . $tag->message);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -99,7 +99,6 @@ require_once('dbupdate_3.4/76150_perm_other_lv_plan.php');
|
||||
require_once('dbupdate_3.4/68957_dashboard_bookmark_neue_Spalte_sort.php');
|
||||
require_once('dbupdate_3.4/68530_Dashboard_Cleanup.php');
|
||||
require_once('dbupdate_3.4/77375_ressourcen.php');
|
||||
require_once('dbupdate_3.4/78052_tempus_tag_events.php');
|
||||
require_once('dbupdate_3.4/78318_rename_column_of_eindeutige_gruppen_id_to_eindeutige_kalender_gruppen_id_in_tbl_kalender.php');
|
||||
require_once('dbupdate_3.4/75959_StudVw_Automatische_Tags.php');
|
||||
require_once('dbupdate_3.4/76160_lvv_favorites.php');
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public'
|
||||
AND table_name = 'tbl_notizzuordnung'
|
||||
AND column_name = 'eindeutige_kalender_gruppen_id'");
|
||||
|
||||
if ($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_notizzuordnung
|
||||
ADD COLUMN eindeutige_kalender_gruppen_id UUID NULL DEFAULT NULL";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_notizzuordnung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_notizzuordnung: eindeutige_kalender_gruppen_id column added';
|
||||
}
|
||||
@@ -32,7 +32,16 @@ if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_kalender_notiz WHERE 0 =
|
||||
echo '<br>Granted privileges to <strong>vilesci</strong> on lehre.tbl_kalender_notiz';
|
||||
|
||||
// Delete the related note when its calendar-note assignment no longer exists.
|
||||
$qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_notiz_on_kalender_notiz_delete()
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM pg_catalog.pg_proc AS p
|
||||
JOIN pg_catalog.pg_namespace AS n ON n.oid = p.pronamespace
|
||||
WHERE n.nspname = 'lehre'
|
||||
AND p.proname = 'cleanup_notiz_on_kalender_notiz_delete'
|
||||
AND p.proargtypes = ''::oidvector");
|
||||
|
||||
if ($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry = 'CREATE FUNCTION lehre.cleanup_notiz_on_kalender_notiz_delete()
|
||||
RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
SECURITY DEFINER
|
||||
@@ -50,9 +59,15 @@ if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_kalender_notiz WHERE 0 =
|
||||
|
||||
RETURN OLD;
|
||||
END;
|
||||
$function$;
|
||||
$function$;';
|
||||
|
||||
CREATE TRIGGER cleanup_notiz_on_kalender_notiz_delete
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_notiz cleanup function: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_notiz cleanup function created';
|
||||
}
|
||||
|
||||
$qry = 'CREATE TRIGGER cleanup_notiz_on_kalender_notiz_delete
|
||||
AFTER DELETE ON lehre.tbl_kalender_notiz
|
||||
FOR EACH ROW
|
||||
EXECUTE PROCEDURE lehre.cleanup_notiz_on_kalender_notiz_delete();';
|
||||
@@ -65,7 +80,16 @@ if (!$result = @$db->db_query('SELECT 0 FROM lehre.tbl_kalender_notiz WHERE 0 =
|
||||
|
||||
// Delete note assignments after a physical delete or when every row in the
|
||||
// calendar group has an inactive status.
|
||||
$qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_kalender_notiz()
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM pg_catalog.pg_proc AS p
|
||||
JOIN pg_catalog.pg_namespace AS n ON n.oid = p.pronamespace
|
||||
WHERE n.nspname = 'lehre'
|
||||
AND p.proname = 'cleanup_kalender_notiz'
|
||||
AND p.proargtypes = ''::oidvector");
|
||||
|
||||
if ($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry = 'CREATE FUNCTION lehre.cleanup_kalender_notiz()
|
||||
RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
SECURITY DEFINER
|
||||
@@ -113,6 +137,7 @@ $qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_kalender_notiz()
|
||||
echo '<strong>lehre.tbl_kalender_notiz cleanup function: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_kalender_notiz cleanup function created';
|
||||
}
|
||||
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM pg_catalog.pg_trigger AS t
|
||||
@@ -138,7 +163,16 @@ if ($db->db_num_rows($result) === 0)
|
||||
|
||||
// Delete resource assignments after a physical delete or when every row in the
|
||||
// calendar group has an inactive status.
|
||||
$qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_betriebsmittel_kalender()
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM pg_catalog.pg_proc AS p
|
||||
JOIN pg_catalog.pg_namespace AS n ON n.oid = p.pronamespace
|
||||
WHERE n.nspname = 'lehre'
|
||||
AND p.proname = 'cleanup_betriebsmittel_kalender'
|
||||
AND p.proargtypes = ''::oidvector");
|
||||
|
||||
if ($db->db_num_rows($result) === 0)
|
||||
{
|
||||
$qry = 'CREATE FUNCTION lehre.cleanup_betriebsmittel_kalender()
|
||||
RETURNS trigger
|
||||
LANGUAGE plpgsql
|
||||
SECURITY DEFINER
|
||||
@@ -186,6 +220,7 @@ $qry = 'CREATE OR REPLACE FUNCTION lehre.cleanup_betriebsmittel_kalender()
|
||||
echo '<strong>lehre.tbl_betriebsmittel_kalender cleanup function: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>lehre.tbl_betriebsmittel_kalender cleanup function created';
|
||||
}
|
||||
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM pg_catalog.pg_trigger AS t
|
||||
@@ -225,3 +260,20 @@ if ($db->db_num_rows($result) === 1)
|
||||
else
|
||||
echo '<br>public.tbl_notizzuordnung: eindeutige_kalender_gruppen_id column removed';
|
||||
}
|
||||
|
||||
$result = $db->db_query("SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_schema = 'public'
|
||||
AND table_name = 'tbl_notizzuordnung'
|
||||
AND column_name = 'eindeutige_gruppen_id'");
|
||||
|
||||
if ($db->db_num_rows($result) === 1)
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_notizzuordnung
|
||||
DROP COLUMN eindeutige_gruppen_id";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_notizzuordnung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_notizzuordnung: eindeutige_gruppen_id column removed';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user