summaryrefslogtreecommitdiff
path: root/admin/upgrades/5.0.1.php
blob: d4bcbdef63916608fd4b5de3fedb95f1235c2c24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/**
 * @package users
 */

global $gBitInstaller;

$gBitInstaller->registerPackageUpgrade(
	[
		'package'     => USERS_PKG_NAME,
		'version'     => '5.0.1',
		'description' => 'Add users_auth_map table for OAuth/external authentication provider support.',
	],
	[
		[ 'DATADICT' => [
			[ 'CREATE' => [
				'users_auth_map' => "
					user_id I4 PRIMARY,
					provider C(64) PRIMARY,
					provider_identifier C(64) NOTNULL,
					last_login I8,
					profile_json X
				",
			]],
			[ 'CREATEINDEX' => [
				'users_auth_user_idx'           => [ 'users_auth_map', 'user_id',                    null ],
				'users_auth_provider_ident_idx' => [ 'users_auth_map', 'provider,provider_identifier', [ 'UNIQUE' ] ],
			]],
		]],
	]
);

$constraints = [
	'users_auth_map' => [ 'users_auth_user_ref' => 'FOREIGN KEY (`user_id`) REFERENCES `' . BIT_DB_PREFIX . 'users_users` (`user_id`)' ],
];
foreach( array_keys( $constraints ) as $tableName ) {
	$gBitInstaller->registerSchemaConstraints( USERS_PKG_NAME, $tableName, $constraints[$tableName] );
}