1
0
Fork 0
mirror of synced 2024-06-02 19:04:49 +12:00

Added indexes

This commit is contained in:
Eldad Fux 2021-05-05 15:28:01 +03:00
parent aec1dea7b4
commit a128ad08b5
3 changed files with 187 additions and 8 deletions

View file

@ -135,8 +135,149 @@ $collections = [
],
],
'indexes' => [
[
'$id' => '_key_email',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['email'],
'lengths' => [1024],
'orders' => [Database::ORDER_ASC],
]
],
],
'teams' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'teams',
'name' => 'Teams',
'attributes' => [
[
'$id' => 'name',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'dateCreated',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'sum',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
],
'indexes' => [],
],
'memberships' => [
'$collection' => Database::COLLECTIONS,
'$id' => 'memberships',
'name' => 'Memberships',
'attributes' => [
[
'$id' => 'teamId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'userId',
'type' => Database::VAR_STRING,
'format' => '',
'size' => Database::LENGTH_KEY,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'roles',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 128,
'signed' => true,
'required' => false,
'array' => true,
'filters' => [],
],
[
'$id' => 'invited',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'joined',
'type' => Database::VAR_INTEGER,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'confirm',
'type' => Database::VAR_BOOLEAN,
'format' => '',
'size' => 0,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
[
'$id' => 'secret',
'type' => Database::VAR_STRING,
'format' => '',
'size' => 256,
'signed' => true,
'required' => false,
'array' => false,
'filters' => [],
],
],
'indexes' => [
[
'$id' => '_key_team',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['teamId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
],
[
'$id' => '_key_user',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['userId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
]
],
],
'files' => [
'$collection' => Database::COLLECTIONS,
@ -285,7 +426,15 @@ $collections = [
'filters' => [],
],
],
'indexes' => [],
'indexes' => [
[
'$id' => '_key_bucket',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['bucketId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
]
],
],
'functions' => [
@ -425,7 +574,8 @@ $collections = [
'filters' => [],
],
],
'indexes' => [],
'indexes' => [
],
],
'tags' => [
@ -485,7 +635,15 @@ $collections = [
'filters' => [],
],
],
'indexes' => [],
'indexes' => [
[
'$id' => '_key_function',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['functionId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
]
],
],
'executions' => [
@ -585,7 +743,15 @@ $collections = [
'filters' => [],
],
],
'indexes' => [],
'indexes' => [
[
'$id' => '_key_function',
'type' => Database::INDEX_UNIQUE,
'attributes' => ['functionId'],
'lengths' => [Database::LENGTH_KEY],
'orders' => [Database::ORDER_ASC],
]
],
],
];

View file

@ -116,7 +116,14 @@ App::post('/v1/projects')
}
foreach ($collection['indexes'] as $i => $index) {
$dbForInternal->createIndex(
$key,
$index['$id'],
$index['type'],
$index['attributes'],
$index['lengths'],
$index['orders'],
);
}
}

View file

@ -52,9 +52,8 @@ $http->on('AfterReload', function($serv, $workerId) {
$http->on('start', function (Server $http) use ($payloadSize) {
/** @var Utopia\Database\Database $dbForConsole */
$app = new App('UTC');
$dbForConsole = $app->getResource('dbForConsole');
$dbForConsole = $app->getResource('dbForConsole'); /** @var Utopia\Database\Database $dbForConsole */
if(!$dbForConsole->exists()) {
Console::success('[Setup] - Server database init started...');
@ -80,7 +79,14 @@ $http->on('start', function (Server $http) use ($payloadSize) {
}
foreach ($collection['indexes'] as $i => $index) {
$dbForConsole->createIndex(
$key,
$index['$id'],
$index['type'],
$index['attributes'],
$index['lengths'],
$index['orders'],
);
}
}