summaryrefslogtreecommitdiff
path: root/Year_3/TSDWL/LARAVEL/iBook/database
diff options
context:
space:
mode:
Diffstat (limited to 'Year_3/TSDWL/LARAVEL/iBook/database')
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/.gitignore1
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/factories/UserFactory.php39
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_000000_create_users_table.php36
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_100000_create_password_resets_table.php32
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_08_19_000000_create_failed_jobs_table.php36
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php36
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082135_create_books_table.php36
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082852_published_could_be_null.php32
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083556_create_authors_table.php35
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083714_add_author_of_a_book.php33
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/database/seeders/DatabaseSeeder.php18
11 files changed, 334 insertions, 0 deletions
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/.gitignore b/Year_3/TSDWL/LARAVEL/iBook/database/.gitignore
new file mode 100644
index 0000000..9b19b93
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/.gitignore
@@ -0,0 +1 @@
+*.sqlite*
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/factories/UserFactory.php b/Year_3/TSDWL/LARAVEL/iBook/database/factories/UserFactory.php
new file mode 100644
index 0000000..a3eb239
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/factories/UserFactory.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Database\Factories;
+
+use Illuminate\Database\Eloquent\Factories\Factory;
+use Illuminate\Support\Str;
+
+class UserFactory extends Factory
+{
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition()
+ {
+ return [
+ 'name' => $this->faker->name(),
+ 'email' => $this->faker->unique()->safeEmail(),
+ 'email_verified_at' => now(),
+ 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
+ 'remember_token' => Str::random(10),
+ ];
+ }
+
+ /**
+ * Indicate that the model's email address should be unverified.
+ *
+ * @return \Illuminate\Database\Eloquent\Factories\Factory
+ */
+ public function unverified()
+ {
+ return $this->state(function (array $attributes) {
+ return [
+ 'email_verified_at' => null,
+ ];
+ });
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_000000_create_users_table.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_000000_create_users_table.php
new file mode 100644
index 0000000..621a24e
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_000000_create_users_table.php
@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateUsersTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('users', function (Blueprint $table) {
+ $table->id();
+ $table->string('name');
+ $table->string('email')->unique();
+ $table->timestamp('email_verified_at')->nullable();
+ $table->string('password');
+ $table->rememberToken();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('users');
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_100000_create_password_resets_table.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_100000_create_password_resets_table.php
new file mode 100644
index 0000000..0ee0a36
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_100000_create_password_resets_table.php
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreatePasswordResetsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('password_resets', function (Blueprint $table) {
+ $table->string('email')->index();
+ $table->string('token');
+ $table->timestamp('created_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('password_resets');
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_08_19_000000_create_failed_jobs_table.php
new file mode 100644
index 0000000..6aa6d74
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_08_19_000000_create_failed_jobs_table.php
@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateFailedJobsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('failed_jobs', function (Blueprint $table) {
+ $table->id();
+ $table->string('uuid')->unique();
+ $table->text('connection');
+ $table->text('queue');
+ $table->longText('payload');
+ $table->longText('exception');
+ $table->timestamp('failed_at')->useCurrent();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('failed_jobs');
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
new file mode 100644
index 0000000..4315e16
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreatePersonalAccessTokensTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create('personal_access_tokens', function (Blueprint $table) {
+ $table->id();
+ $table->morphs('tokenable');
+ $table->string('name');
+ $table->string('token', 64)->unique();
+ $table->text('abilities')->nullable();
+ $table->timestamp('last_used_at')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('personal_access_tokens');
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082135_create_books_table.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082135_create_books_table.php
new file mode 100644
index 0000000..ecc2cc1
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082135_create_books_table.php
@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateBooksTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create(
+ 'books', function (Blueprint $table) {
+ $table->id();
+ $table->string('name', 50);
+ $table->dateTime('published_at');
+ $table->boolean('is_online')->default(false);
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('books');
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082852_published_could_be_null.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082852_published_could_be_null.php
new file mode 100644
index 0000000..a00c167
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082852_published_could_be_null.php
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class PublishedCouldBeNull extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::table(
+ 'books', function (Blueprint $table) {
+ $table->string('published_at')->nullable()->change();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ //
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083556_create_authors_table.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083556_create_authors_table.php
new file mode 100644
index 0000000..455831a
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083556_create_authors_table.php
@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateAuthorsTable extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::create(
+ 'authors', function (Blueprint $table) {
+ $table->id();
+ $table->string('name');
+ $table->string('born_in')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('authors');
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083714_add_author_of_a_book.php b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083714_add_author_of_a_book.php
new file mode 100644
index 0000000..befd862
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083714_add_author_of_a_book.php
@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddAuthorOfABook extends Migration
+{
+ /**
+ * Run the migrations.
+ *
+ * @return void
+ */
+ public function up()
+ {
+ Schema::table(
+ 'books', function (Blueprint $table) {
+ $table->bigInteger('author_id')->unsigned()->nullable();
+ $table->foreign('author_id')->references('id')->on('authors')->onUpdate('cascade')->onDelete('set null');
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ //
+ }
+}
diff --git a/Year_3/TSDWL/LARAVEL/iBook/database/seeders/DatabaseSeeder.php b/Year_3/TSDWL/LARAVEL/iBook/database/seeders/DatabaseSeeder.php
new file mode 100644
index 0000000..57b73b5
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/database/seeders/DatabaseSeeder.php
@@ -0,0 +1,18 @@
+<?php
+
+namespace Database\Seeders;
+
+use Illuminate\Database\Seeder;
+
+class DatabaseSeeder extends Seeder
+{
+ /**
+ * Seed the application's database.
+ *
+ * @return void
+ */
+ public function run()
+ {
+ // \App\Models\User::factory(10)->create();
+ }
+}