Browse Source

added db foreign keys to tables (without cascade)

v3-dev
REJack 6 years ago
parent
commit
b8267ab11c
  1. 2
      app/Database/Migrations/20181031062503_create_user_variables.php
  2. 4
      app/Database/Migrations/20181031063642_create_login_tokens.php
  3. 2
      app/Database/Migrations/20181031064311_create_group_variables.php
  4. 4
      app/Database/Migrations/20181031064431_create_group_to_user.php
  5. 4
      app/Database/Migrations/20181031064550_create_group_to_group.php
  6. 4
      app/Database/Migrations/20181031065111_create_perm_to_user.php
  7. 4
      app/Database/Migrations/20181031065240_create_perm_to_group.php
  8. 43
      app/Database/Migrations/20181031072542_create_default_groups.php
  9. 12
      app/Database/Migrations/20181031072914_create_default_users.php

2
app/Database/Migrations/20181031062503_create_user_variables.php

@ -65,6 +65,7 @@ class Migration_create_user_variables extends Migration
],
]);
$this->forge->addKey('id', true);
$this->forge->addForeignKey('user_id', $config->dbTableUsers, 'id');
$this->forge->createTable($config->dbTableUserVariables, true);
}
@ -78,6 +79,7 @@ class Migration_create_user_variables extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTableUserVariables, $config->dbTableUserVariables . '_user_id_foreign');
$this->forge->dropTable($config->dbTableUserVariables, true);
}
}

4
app/Database/Migrations/20181031063642_create_login_tokens.php

@ -47,7 +47,7 @@ class Migration_create_login_tokens extends Migration
'user_id' => [
'type' => 'INT',
'constraint' => 11,
'default' => 0,
'unsigned' => true,
],
'random_hash' => [
'type' => 'VARCHAR',
@ -62,6 +62,7 @@ class Migration_create_login_tokens extends Migration
'expires_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP',
]);
$this->forge->addKey('id', true);
$this->forge->addForeignKey('user_id', $config->dbTableUsers, 'id');
$this->forge->createTable($config->dbTableLoginTokens, true);
}
@ -75,6 +76,7 @@ class Migration_create_login_tokens extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTableLoginTokens, $config->dbTableLoginTokens . '_user_id_foreign');
$this->forge->dropTable($config->dbTableLoginTokens, true);
}
}

2
app/Database/Migrations/20181031064311_create_group_variables.php

@ -65,6 +65,7 @@ class Migration_create_group_variables extends Migration
],
]);
$this->forge->addKey('id', true);
$this->forge->addForeignKey('group_id', $config->dbTableGroups, 'id');
$this->forge->createTable($config->dbTableGroupVariables, true);
}
@ -78,6 +79,7 @@ class Migration_create_group_variables extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTableGroupVariables, $config->dbTableGroupVariables . '_group_id_foreign');
$this->forge->dropTable($config->dbTableGroupVariables, true);
}
}

4
app/Database/Migrations/20181031064431_create_group_to_user.php

@ -50,6 +50,8 @@ class Migration_create_group_to_user extends Migration
],
]);
$this->forge->addKey(['group_id', 'user_id'], true);
$this->forge->addForeignKey('user_id', $config->dbTableUsers, 'id');
$this->forge->addForeignKey('group_id', $config->dbTableGroups, 'id');
$this->forge->createTable($config->dbTableGroupToUser, true);
}
@ -63,6 +65,8 @@ class Migration_create_group_to_user extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTableGroupToUser, $config->dbTableGroupToUser . '_user_id_foreign');
$this->forge->dropForeignKey($config->dbTableGroupToUser, $config->dbTableGroupToUser . '_group_id_foreign');
$this->forge->dropTable($config->dbTableGroupToUser, true);
}
}

4
app/Database/Migrations/20181031064550_create_group_to_group.php

@ -50,6 +50,8 @@ class Migration_create_group_to_group extends Migration
],
]);
$this->forge->addKey(['group_id', 'subgroup_id'], true);
$this->forge->addForeignKey('group_id', $config->dbTableGroups, 'id');
$this->forge->addForeignKey('subgroup_id', $config->dbTableGroups, 'id');
$this->forge->createTable($config->dbTableGroupToGroup, true);
}
@ -63,6 +65,8 @@ class Migration_create_group_to_group extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTableGroupToGroup, $config->dbTableGroupToGroup . '_group_id_foreign');
$this->forge->dropForeignKey($config->dbTableGroupToGroup, $config->dbTableGroupToGroup . '_subgroup_id_foreign');
$this->forge->dropTable($config->dbTableGroupToGroup, true);
}
}

4
app/Database/Migrations/20181031065111_create_perm_to_user.php

@ -55,6 +55,8 @@ class Migration_create_perm_to_user extends Migration
],
]);
$this->forge->addKey(['perm_id', 'user_id'], true);
$this->forge->addForeignKey('perm_id', $config->dbTablePerms, 'id', 'CASCADE', 'CASCADE');
$this->forge->addForeignKey('user_id', $config->dbTableUsers, 'id', 'CASCADE', 'CASCADE');
$this->forge->createTable($config->dbTablePermToUser, true);
}
@ -68,6 +70,8 @@ class Migration_create_perm_to_user extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTablePermToUser, $config->dbTablePermToUser . '_perm_id_foreign');
$this->forge->dropForeignKey($config->dbTablePermToUser, $config->dbTablePermToUser . '_user_id_foreign');
$this->forge->dropTable($config->dbTablePermToUser, true);
}
}

4
app/Database/Migrations/20181031065240_create_perm_to_group.php

@ -55,6 +55,8 @@ class Migration_create_perm_to_group extends Migration
],
]);
$this->forge->addKey(['perm_id', 'group_id'], true);
$this->forge->addForeignKey('perm_id', $config->dbTablePerms, 'id', 'CASCADE', 'CASCADE');
$this->forge->addForeignKey('group_id', $config->dbTableGroups, 'id', 'CASCADE', 'CASCADE');
$this->forge->createTable($config->dbTablePermToGroup, true);
}
@ -68,6 +70,8 @@ class Migration_create_perm_to_group extends Migration
public function down()
{
$config = new AauthConfig();
$this->forge->dropForeignKey($config->dbTablePermToGroup, $config->dbTablePermToGroup . '_perm_id_foreign');
$this->forge->dropForeignKey($config->dbTablePermToGroup, $config->dbTablePermToGroup . '_group_id_foreign');
$this->forge->dropTable($config->dbTablePermToGroup, true);
}
}

43
app/Database/Migrations/20181031072542_create_default_groups.php

@ -37,20 +37,35 @@ class Migration_create_default_groups extends Migration
public function up()
{
$config = new AauthConfig();
$data = [
[
'name' => $config->groupAdmin,
'definition' => 'Administators',
],
[
'name' => $config->groupDefault,
'definition' => 'Users',
],
[
'name' => $config->groupPublic,
'definition' => 'Guests',
],
$adminGroup = [
'name' => $config->groupAdmin,
'definition' => 'Administators',
];
$defaultGroup = [
'name' => $config->groupDefault,
'definition' => 'Users',
];
$publicGroup = [
'name' => $config->groupPublic,
'definition' => 'Guests',
];
if ($config->groupDefault)
{
$data = [
$adminGroup,
$defaultGroup,
$publicGroup,
];
}
else
{
$data = [
$adminGroup,
$publicGroup,
];
}
$this->db->table($config->dbTableGroups)->insertBatch($data);
}
@ -65,6 +80,8 @@ class Migration_create_default_groups extends Migration
public function down()
{
$config = new AauthConfig();
$this->db->simpleQuery('SET FOREIGN_KEY_CHECKS = 0;');
$this->db->table($config->dbTableGroups)->truncate();
$this->db->simpleQuery('SET FOREIGN_KEY_CHECKS = 1;');
}
}

12
app/Database/Migrations/20181031072914_create_default_users.php

@ -61,11 +61,15 @@ class Migration_create_default_users extends Migration
'group_id' => 2,
'user_id' => 1,
],
[
];
if ($config->groupDefault)
{
$data[] = [
'group_id' => 2,
'user_id' => 2,
],
];
];
}
$this->db->table($config->dbTableGroupToUser)->insertBatch($data);
}
@ -80,7 +84,9 @@ class Migration_create_default_users extends Migration
public function down()
{
$config = new AauthConfig();
$this->db->simpleQuery('SET FOREIGN_KEY_CHECKS = 0;');
$this->db->table($config->dbTableUsers)->truncate();
$this->db->table($config->dbTableGroupToUser)->truncate();
$this->db->simpleQuery('SET FOREIGN_KEY_CHECKS = 1;');
}
}

Loading…
Cancel
Save