         editable: true,
         visible: true,
         required: true
-      }) |> Repo.insert!
-end
-
-unless Repo.get_by(SystemVariable, key: "PROGRAM_NAME") do
+      }) |> Repo.insert!()
+end
+
+program_name = Repo.get_by(SystemVariable, key: "PROGRAM_NAME")
+if program_name do
+  program_name
+  |> SystemVariable.changeset(
+      %{
+        type: "string",
+        editable: true,
+        visible: true,
+        required: true
+       })
+  |> Repo.update!()
+else
   %SystemVariable{} |> SystemVariable.changeset(
       %{
         key: "PROGRAM_NAME",

        editable: true,
        visible: true,
        required: true
      }) |> Repo.insert!
end

unless Repo.get_by(SystemVariable, key: "SHOW_PROGRAM_ABOUT_PAGE") do
  %SystemVariable{} |> SystemVariable.changeset(
      %{
        key: "SHOW_PROGRAM_ABOUT_PAGE",

        editable: true,
        visible: true,
        required: true
      }) |> Repo.insert!()
end

notification_job_executed_at = Repo.get_by(SystemVariable, key: "NOTIFICATION_JOB_EXECUTED_AT")
if notification_job_executed_at do
  notification_job_executed_at
  |> SystemVariable.changeset(
      %{
        type: "utc_datetime",
        editable: false,
        visible: false,
        required: true
       })
  |> Repo.update!()
else
  %SystemVariable{} |> SystemVariable.changeset(
      %{
        key: "NOTIFICATION_JOB_EXECUTED_AT",
