The Hubzilla
 All Classes Namespaces Files Functions Variables Pages
update.php File Reference

Functions

 update_r1000 ()
 
 update_r1001 ()
 
 update_r1002 ()
 
 update_r1003 ()
 
 update_r1004 ()
 
 update_r1005 ()
 
 update_r1006 ()
 
 update_r1007 ()
 
 update_r1008 ()
 
 update_r1009 ()
 
 update_r1010 ()
 
 update_r1011 ()
 
 update_r1012 ()
 
 update_r1013 ()
 
 update_r1014 ()
 
 update_r1015 ()
 
 update_r1016 ()
 
 update_r1017 ()
 
 update_r1018 ()
 
 update_r1019 ()
 
 update_r1020 ()
 
 update_r1021 ()
 
 update_r1022 ()
 
 update_r1023 ()
 
 update_r1024 ()
 
 update_r1025 ()
 
 update_r1026 ()
 
 update_r1027 ()
 
 update_r1028 ()
 
 update_r1029 ()
 
 update_r1030 ()
 
 update_r1031 ()
 
 update_r1032 ()
 
 update_r1033 ()
 
 update_r1034 ()
 
 update_r1035 ()
 
 update_r1036 ()
 
 update_r1037 ()
 
 update_r1038 ()
 
 update_r1039 ()
 
 update_r1040 ()
 
 update_r1041 ()
 
 update_r1042 ()
 
 update_r1043 ()
 
 update_r1044 ()
 
 update_r1045 ()
 
 update_r1046 ()
 
 update_r1047 ()
 
 update_r1048 ()
 
 update_r1049 ()
 
 update_r1050 ()
 
 update_r1051 ()
 
 update_r1052 ()
 
 update_r1053 ()
 
 update_r1054 ()
 
 update_r1055 ()
 
 update_r1056 ()
 
 update_r1057 ()
 
 update_r1058 ()
 
 update_r1059 ()
 
 update_r1060 ()
 
 update_r1061 ()
 
 update_r1062 ()
 
 update_r1063 ()
 
 update_r1064 ()
 
 update_r1065 ()
 
 update_r1066 ()
 
 update_r1067 ()
 
 update_r1068 ()
 
 update_r1069 ()
 
 update_r1070 ()
 
 update_r1071 ()
 
 update_r1072 ()
 
 update_r1073 ()
 
 update_r1074 ()
 
 update_r1075 ()
 
 update_r1076 ()
 
 update_r1077 ()
 
 update_r1078 ()
 
 update_r1079 ()
 
 update_r1080 ()
 
 update_r1081 ()
 
 update_r1082 ()
 
 update_r1083 ()
 
 update_r1084 ()
 
 update_r1085 ()
 
 update_r1086 ()
 
 update_r1087 ()
 
 update_r1088 ()
 
 update_r1089 ()
 
 update_r1090 ()
 
 update_r1091 ()
 
 update_r1092 ()
 
 update_r1093 ()
 
 update_r1094 ()
 
 update_r1095 ()
 
 update_r1096 ()
 
 update_r1097 ()
 
 update_r1098 ()
 
 update_r1099 ()
 
 update_r1100 ()
 
 update_r1101 ()
 
 update_r1102 ()
 
 update_r1103 ()
 
 update_r1104 ()
 
 update_r1105 ()
 
 update_r1106 ()
 
 update_r1107 ()
 
 update_r1108 ()
 
 update_r1109 ()
 
 update_r1110 ()
 
 update_r1111 ()
 
 update_r1112 ()
 
 update_r1113 ()
 
 update_r1114 ()
 
 update_r1115 ()
 
 update_r1116 ()
 
 update_r1117 ()
 
 update_r1118 ()
 
 update_r1119 ()
 
 update_r1120 ()
 
 update_r1121 ()
 
 update_r1122 ()
 
 update_r1123 ()
 
 update_r1124 ()
 
 update_r1125 ()
 
 update_r1126 ()
 
 update_r1127 ()
 
 update_r1128 ()
 
 update_r1129 ()
 
 update_r1130 ()
 
 update_r1131 ()
 
 update_r1132 ()
 
 update_r1133 ()
 
 update_r1134 ()
 
 update_r1135 ()
 
 update_r1136 ()
 
 update_r1137 ()
 
 update_r1138 ()
 
 update_r1139 ()
 
 update_r1140 ()
 
 update_r1141 ()
 
 update_r1142 ()
 
 update_r1143 ()
 
 update_r1144 ()
 
 update_r1145 ()
 
 update_r1146 ()
 
 update_r1147 ()
 
 update_r1148 ()
 
 update_r1149 ()
 
 update_r1150 ()
 
 update_r1151 ()
 
 update_r1152 ()
 
 update_r1153 ()
 
 update_r1154 ()
 
 update_r1155 ()
 
 update_r1156 ()
 
 update_r1157 ()
 
 update_r1158 ()
 
 update_r1159 ()
 
 update_r1160 ()
 
 update_r1161 ()
 
 update_r1162 ()
 
 update_r1163 ()
 
 update_r1164 ()
 
 update_r1165 ()
 
 update_r1166 ()
 
 update_r1167 ()
 
 update_r1168 ()
 
 update_r1169 ()
 
 update_r1170 ()
 
 update_r1171 ()
 
 update_r1172 ()
 
 update_r1173 ()
 
 update_r1174 ()
 
 update_r1175 ()
 
 update_r1176 ()
 
 update_r1177 ()
 
 update_r1178 ()
 
 update_r1179 ()
 
 update_r1180 ()
 
 update_r1181 ()
 
 update_r1182 ()
 
 update_r1183 ()
 
 update_r1184 ()
 
 update_r1185 ()
 
 update_r1186 ()
 
 update_r1187 ()
 
 update_r1188 ()
 
 update_r1189 ()
 
 update_r1190 ()
 
 update_r1191 ()
 
 update_r1192 ()
 
 update_r1193 ()
 
 update_r1194 ()
 
 update_r1195 ()
 
 update_r1196 ()
 
 update_r1197 ()
 

Variables

const UPDATE_VERSION 1198
 

Function Documentation

update_r1000 ( )

update.php - automatic system update

Automatically update database schemas and any other development changes such that copying the latest files from the source code repository will always perform a clean and painless upgrade.

Each function in this file is named update_rnnnn() where nnnn is an increasing number which began counting at 1000.

At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change to the database schema or one which requires an upgrade path from the existing application, the DB_UPDATE_VERSION and the UPDATE_VERSION at the top of this file are incremented.

The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system up to current without requiring re-installation or manual intervention.

Once the upgrade functions have completed, the current DB_UPDATE_VERSION is stored as the current value. The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file.

If you change the database schema, the following are required:

  1. Update the files schema_mysql.sql and schema_postgres.sql to match the new schema. Be sure to read doc/sql_conventions.bb ($yoururl/help/sql_conventions) use only standard SQL data types where possible to keep differences in the files to a minimum
  2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION. This function should modify the current database schema and perform any other steps necessary to ensure that upgrade is silent and free from requiring interaction. Review to ensure that it will run correctly on both postgres and MySQL/Mariadb. It is very difficult and messy to fix DB update errors. Once pushed, it requires a new update which undoes any damage and performs the corrected updated.
  3. Increment the DB_UPDATE_VERSION in boot.php AND the UPDATE_VERSION in this file to match it
  4. TEST the upgrade prior to checkin and filing a pull request.
update_r1001 ( )
update_r1002 ( )
update_r1003 ( )
update_r1004 ( )
update_r1005 ( )
update_r1006 ( )
update_r1007 ( )
update_r1008 ( )
update_r1009 ( )
update_r1010 ( )
update_r1011 ( )
update_r1012 ( )
update_r1013 ( )
update_r1014 ( )
update_r1015 ( )
update_r1016 ( )
update_r1017 ( )
update_r1018 ( )
update_r1019 ( )
update_r1020 ( )
update_r1021 ( )
update_r1022 ( )
update_r1023 ( )
update_r1024 ( )
update_r1025 ( )
update_r1026 ( )
update_r1027 ( )
update_r1028 ( )
update_r1029 ( )
update_r1030 ( )
update_r1031 ( )
update_r1032 ( )
update_r1033 ( )
update_r1034 ( )
update_r1035 ( )
update_r1036 ( )
update_r1037 ( )
update_r1038 ( )
update_r1039 ( )
update_r1040 ( )
update_r1041 ( )
update_r1042 ( )
update_r1043 ( )
update_r1044 ( )
update_r1045 ( )
update_r1046 ( )
update_r1047 ( )
update_r1048 ( )
update_r1049 ( )
update_r1050 ( )
update_r1051 ( )
update_r1052 ( )
update_r1053 ( )
update_r1054 ( )
update_r1055 ( )
update_r1056 ( )
update_r1057 ( )
update_r1058 ( )
update_r1059 ( )
update_r1060 ( )
update_r1061 ( )
update_r1062 ( )
update_r1063 ( )
update_r1064 ( )
update_r1065 ( )
update_r1066 ( )
update_r1067 ( )
update_r1068 ( )
update_r1069 ( )
update_r1070 ( )
update_r1071 ( )
update_r1072 ( )
update_r1073 ( )
update_r1074 ( )
update_r1075 ( )
update_r1076 ( )
update_r1077 ( )
update_r1078 ( )
update_r1079 ( )
update_r1080 ( )
update_r1081 ( )
update_r1082 ( )
update_r1083 ( )
update_r1084 ( )
update_r1085 ( )
update_r1086 ( )
update_r1087 ( )
update_r1088 ( )
update_r1089 ( )
update_r1090 ( )
update_r1091 ( )
update_r1092 ( )
update_r1093 ( )
update_r1094 ( )
update_r1095 ( )
update_r1096 ( )
update_r1097 ( )
update_r1098 ( )
update_r1099 ( )
update_r1100 ( )
update_r1101 ( )
update_r1102 ( )
update_r1103 ( )
update_r1104 ( )
update_r1105 ( )
update_r1106 ( )
update_r1107 ( )
update_r1108 ( )
update_r1109 ( )
update_r1110 ( )
update_r1111 ( )
update_r1112 ( )
update_r1113 ( )
update_r1114 ( )
update_r1115 ( )
update_r1116 ( )
update_r1117 ( )
update_r1118 ( )
update_r1119 ( )
update_r1120 ( )
update_r1121 ( )
update_r1122 ( )
update_r1123 ( )
update_r1124 ( )
update_r1125 ( )
update_r1126 ( )
update_r1127 ( )
update_r1128 ( )
update_r1129 ( )
update_r1130 ( )
update_r1131 ( )
update_r1132 ( )
update_r1133 ( )
update_r1134 ( )
update_r1135 ( )
update_r1136 ( )
update_r1137 ( )
update_r1138 ( )
update_r1139 ( )
update_r1140 ( )
update_r1141 ( )
update_r1142 ( )
update_r1143 ( )
update_r1144 ( )
update_r1145 ( )
update_r1146 ( )
update_r1147 ( )
update_r1148 ( )
update_r1149 ( )
update_r1150 ( )
update_r1151 ( )
update_r1152 ( )
update_r1153 ( )
update_r1154 ( )
update_r1155 ( )
update_r1156 ( )
update_r1157 ( )
update_r1158 ( )
update_r1159 ( )
update_r1160 ( )
update_r1161 ( )
update_r1162 ( )
update_r1163 ( )
update_r1164 ( )
update_r1165 ( )
update_r1166 ( )
update_r1167 ( )
update_r1168 ( )
update_r1169 ( )
update_r1170 ( )
update_r1171 ( )
update_r1172 ( )
update_r1173 ( )
update_r1174 ( )
update_r1175 ( )
update_r1176 ( )
update_r1177 ( )
update_r1178 ( )
update_r1179 ( )
update_r1180 ( )
update_r1181 ( )
update_r1182 ( )
update_r1183 ( )
update_r1184 ( )
update_r1185 ( )
update_r1186 ( )
update_r1187 ( )
update_r1188 ( )
update_r1189 ( )
update_r1190 ( )
update_r1191 ( )
update_r1192 ( )
update_r1193 ( )
update_r1194 ( )
update_r1195 ( )
update_r1196 ( )
update_r1197 ( )

Variable Documentation

const UPDATE_VERSION 1198