diff --git a/src/database/migrations/2014_10_12_000000_create_users_table.php b/src/database/migrations/2014_10_12_000000_create_users_table.php index bb980b1c..653d3a2e 100644 --- a/src/database/migrations/2014_10_12_000000_create_users_table.php +++ b/src/database/migrations/2014_10_12_000000_create_users_table.php @@ -1,40 +1,42 @@ bigInteger('id'); $table->string('name')->nullable(); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password')->nullable(); $table->string('password_ldap')->nullable(); $table->rememberToken(); $table->timestamps(); + + $table->primary('id'); } ); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } } diff --git a/src/database/migrations/2019_09_17_102626_create_wallet_table.php b/src/database/migrations/2019_09_17_102626_create_wallet_table.php index bc86f609..872fe4e3 100644 --- a/src/database/migrations/2019_09_17_102626_create_wallet_table.php +++ b/src/database/migrations/2019_09_17_102626_create_wallet_table.php @@ -1,52 +1,42 @@ string('id', 36); $table->string('description', 128)->nullable(); $table->string('currency', 4); $table->integer('balance'); $table->bigInteger('user_id'); - } - ); - Schema::table( - 'wallets', - function (Blueprint $table) { $table->primary('id'); $table->index('user_id'); - } - ); - Schema::table( - 'wallets', - function (Blueprint $table) { $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); } ); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('wallets'); } } diff --git a/src/database/migrations/2019_09_17_102627_wallet_controllers.php b/src/database/migrations/2019_09_17_102627_wallet_controllers.php index db3fe2fe..941b9ea9 100644 --- a/src/database/migrations/2019_09_17_102627_wallet_controllers.php +++ b/src/database/migrations/2019_09_17_102627_wallet_controllers.php @@ -1,51 +1,40 @@ bigIncrements('id'); $table->bigInteger('user_id'); $table->string('wallet_id', 36); $table->timestamps(); - } - ); - Schema::table( - 'user_accounts', - function (Blueprint $table) { $table->unique(['user_id', 'wallet_id']); - - $table->foreign('user_id') - ->references('id')->on('users') - ->onDelete('cascade'); - - $table->foreign('wallet_id') - ->references('id')->on('wallets') - ->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('wallet_id')->references('id')->on('wallets')->onDelete('cascade'); } ); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('user_accounts'); } } diff --git a/src/database/migrations/2019_09_17_102628_create_sku_entitlements.php b/src/database/migrations/2019_09_17_102628_create_sku_entitlements.php index 271d012b..19dd91da 100644 --- a/src/database/migrations/2019_09_17_102628_create_sku_entitlements.php +++ b/src/database/migrations/2019_09_17_102628_create_sku_entitlements.php @@ -1,75 +1,62 @@ string('id', 36)->primary(); - $table->bigInteger('owner_id'); - $table->bigInteger('entitleable_id'); - $table->bigInteger('entitleable_type'); - $table->string('wallet_id', 36); - $table->string('sku_id', 36); - $table->string('description')->nullable(); - $table->timestamps(); - } - ); - Schema::create( 'skus', function (Blueprint $table) { $table->string('id', 36)->primary(); $table->string('title', 64); $table->text('description')->nullable(); $table->integer('cost'); $table->smallinteger('units_free')->default('0'); $table->string('period', strlen('monthly'))->default('monthly'); $table->string('handler_class')->nullable(); $table->boolean('active')->default(false); $table->timestamps(); } ); - Schema::table( + Schema::create( 'entitlements', function (Blueprint $table) { - $table->foreign('sku_id') - ->references('id')->on('skus') - ->onDelete('cascade'); - - $table->foreign('owner_id') - ->references('id')->on('users') - ->onDelete('cascade'); + $table->string('id', 36)->primary(); + $table->bigInteger('owner_id'); + $table->bigInteger('entitleable_id'); + $table->bigInteger('entitleable_type'); + $table->string('wallet_id', 36); + $table->string('sku_id', 36); + $table->string('description')->nullable(); + $table->timestamps(); - $table->foreign('wallet_id') - ->references('id')->on('wallets') - ->onDelete('cascade'); + $table->foreign('sku_id')->references('id')->on('skus')->onDelete('cascade'); + $table->foreign('owner_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('wallet_id')->references('id')->on('wallets')->onDelete('cascade'); } ); } /** * Reverse the migrations. * * @return void */ public function down() { // TODO: drop foreign keys first Schema::dropIfExists('entitlements'); Schema::dropIfExists('skus'); } } diff --git a/src/database/migrations/2019_09_17_132012_create_user_settings_table.php b/src/database/migrations/2019_09_17_132012_create_user_settings_table.php index 15a4c5c8..b6b2c2b4 100644 --- a/src/database/migrations/2019_09_17_132012_create_user_settings_table.php +++ b/src/database/migrations/2019_09_17_132012_create_user_settings_table.php @@ -1,44 +1,42 @@ bigIncrements('id'); $table->bigInteger('user_id'); - - $table->foreign('user_id') - ->references('id') - ->on('users') - ->onDelete('cascade') - ->onUpdate('cascade'); - $table->string('key'); $table->string('value'); $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users') + ->onDelete('cascade')->onUpdate('cascade'); + + $table->unique(['user_id', 'key']); } ); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('user_settings'); } } diff --git a/src/database/migrations/2019_10_10_095050_create_quota_table.php b/src/database/migrations/2019_10_10_095050_create_quota_table.php index 14b993de..aeb52094 100644 --- a/src/database/migrations/2019_10_10_095050_create_quota_table.php +++ b/src/database/migrations/2019_10_10_095050_create_quota_table.php @@ -1,33 +1,35 @@ bigIncrements('id'); - $table->bigInteger('user_id')->foreign('id')->on('users')->onDelete('cascade'); + $table->bigInteger('user_id'); $table->integer('value')->default(2147483648); $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('quotas'); } } diff --git a/src/database/seeds/DatabaseSeeder.php b/src/database/seeds/DatabaseSeeder.php index 76a00fc9..f6feda36 100644 --- a/src/database/seeds/DatabaseSeeder.php +++ b/src/database/seeds/DatabaseSeeder.php @@ -1,19 +1,22 @@ call(DomainSeeder::class); - $this->call(SkuSeeder::class); - - $this->call(UserSeeder::class); + $this->call( + [ + DomainSeeder::class, + SkuSeeder::class, + UserSeeder::class, + ] + ); } }