| 
									
										
										
										
											2010-08-13 17:10:01 -07:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2019-09-11 11:56:36 +03:00
										 |  |  | // This file is part of GNU social - https://www.gnu.org/software/social
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // GNU social is free software: you can redistribute it and/or modify
 | 
					
						
							|  |  |  | // it under the terms of the GNU Affero General Public License as published by
 | 
					
						
							|  |  |  | // the Free Software Foundation, either version 3 of the License, or
 | 
					
						
							|  |  |  | // (at your option) any later version.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // GNU social is distributed in the hope that it will be useful,
 | 
					
						
							|  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
					
						
							|  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
					
						
							|  |  |  | // GNU Affero General Public License for more details.
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // You should have received a copy of the GNU Affero General Public License
 | 
					
						
							|  |  |  | // along with GNU social.  If not, see <http://www.gnu.org/licenses/>.
 | 
					
						
							| 
									
										
										
										
											2010-08-13 17:10:01 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-08-13 17:32:25 -07:00
										 |  |  | /** | 
					
						
							| 
									
										
										
										
											2010-10-18 17:08:23 -07:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Some notes... | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * decimal <-> numeric | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * MySQL 'timestamp' columns were formerly used for 'modified' files for their | 
					
						
							|  |  |  |  * auto-updating properties. This didn't play well with changes to cache usage | 
					
						
							|  |  |  |  * in 0.9.x, as we don't know the timestamp value at INSERT time and never | 
					
						
							| 
									
										
										
										
											2010-10-29 15:28:48 -07:00
										 |  |  |  * have a chance to load it up again before caching. For now I'm leaving them | 
					
						
							|  |  |  |  * in, but we may want to clean them up later. | 
					
						
							| 
									
										
										
										
											2010-10-18 17:08:23 -07:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Current code should be setting 'created' and 'modified' fields explicitly; | 
					
						
							|  |  |  |  * this also avoids mismatches between server and client timezone settings. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * fulltext indexes? | 
					
						
							|  |  |  |  * got one or two things wanting a custom charset setting on a field? | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * foreign keys are kinda funky... | 
					
						
							|  |  |  |  *     those specified in inline syntax (as all in the original .sql) are NEVER ENFORCED on mysql | 
					
						
							|  |  |  |  *     those made with an explicit 'foreign key' WITHIN INNODB and IF there's a proper index, do get enforced | 
					
						
							|  |  |  |  *     double-check what we've been doing on postgres? | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2010-08-13 17:10:01 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-11 11:56:36 +03:00
										 |  |  | defined('GNUSOCIAL') || die(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $classes = [ | 
					
						
							|  |  |  |     'Schema_version', | 
					
						
							|  |  |  |     'Profile', | 
					
						
							|  |  |  |     'Avatar', | 
					
						
							|  |  |  |     'Sms_carrier', | 
					
						
							|  |  |  |     'User', | 
					
						
							|  |  |  |     'User_group', | 
					
						
							|  |  |  |     'Subscription', | 
					
						
							|  |  |  |     'Group_join_queue', | 
					
						
							|  |  |  |     'Subscription_queue', | 
					
						
							|  |  |  |     'Consumer', | 
					
						
							|  |  |  |     'Oauth_application', | 
					
						
							|  |  |  |     'Oauth_token_association', | 
					
						
							|  |  |  |     'Conversation', | 
					
						
							|  |  |  |     'Notice', | 
					
						
							|  |  |  |     'Notice_location', | 
					
						
							|  |  |  |     'Notice_source', | 
					
						
							|  |  |  |     'Notice_prefs', | 
					
						
							|  |  |  |     'Reply', | 
					
						
							|  |  |  |     'Token', | 
					
						
							|  |  |  |     'Nonce', | 
					
						
							|  |  |  |     'Oauth_application_user', | 
					
						
							|  |  |  |     'Confirm_address', | 
					
						
							|  |  |  |     'Remember_me', | 
					
						
							|  |  |  |     'Queue_item', | 
					
						
							|  |  |  |     'Notice_tag', | 
					
						
							|  |  |  |     'Foreign_service', | 
					
						
							|  |  |  |     'Foreign_user', | 
					
						
							|  |  |  |     'Foreign_link', | 
					
						
							|  |  |  |     'Foreign_subscription', | 
					
						
							|  |  |  |     'Invitation', | 
					
						
							|  |  |  |     'Profile_prefs', | 
					
						
							|  |  |  |     'Profile_list', | 
					
						
							|  |  |  |     'Profile_tag', | 
					
						
							|  |  |  |     'Profile_tag_subscription', | 
					
						
							|  |  |  |     'Profile_block', | 
					
						
							|  |  |  |     'Related_group', | 
					
						
							|  |  |  |     'Group_inbox', | 
					
						
							|  |  |  |     'Group_member', | 
					
						
							|  |  |  |     'File', | 
					
						
							|  |  |  |     'File_redirection', | 
					
						
							|  |  |  |     'File_thumbnail', | 
					
						
							|  |  |  |     'File_to_post', | 
					
						
							|  |  |  |     'Group_block', | 
					
						
							|  |  |  |     'Group_alias', | 
					
						
							|  |  |  |     'Session', | 
					
						
							|  |  |  |     'Config', | 
					
						
							|  |  |  |     'Profile_role', | 
					
						
							|  |  |  |     'Location_namespace', | 
					
						
							|  |  |  |     'Login_token', | 
					
						
							|  |  |  |     'User_location_prefs', | 
					
						
							|  |  |  |     'User_im_prefs', | 
					
						
							|  |  |  |     'Local_group', | 
					
						
							|  |  |  |     'User_urlshortener_prefs', | 
					
						
							|  |  |  |     'Old_school_prefs', | 
					
						
							|  |  |  |     'User_username', | 
					
						
							|  |  |  |     'Attention' | 
					
						
							|  |  |  | ]; | 
					
						
							| 
									
										
										
										
											2011-08-22 17:52:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | foreach ($classes as $cls) { | 
					
						
							| 
									
										
										
										
											2019-09-11 11:56:36 +03:00
										 |  |  |     $schema[strtolower($cls)] = call_user_func([$cls, 'schemaDef']); | 
					
						
							| 
									
										
										
										
											2011-08-22 17:52:02 -04:00
										 |  |  | } |