From 710f54c0156c5fa081bc6af1a68e7cb44723939b Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Mon, 24 Jan 2022 19:34:26 +0100 Subject: add example in laravel --- Year_3/TSDWL/LARAVEL/iBook/database/.gitignore | 1 + .../iBook/database/factories/UserFactory.php | 39 ++++++++++++++++++++++ .../2014_10_12_000000_create_users_table.php | 36 ++++++++++++++++++++ ...4_10_12_100000_create_password_resets_table.php | 32 ++++++++++++++++++ .../2019_08_19_000000_create_failed_jobs_table.php | 36 ++++++++++++++++++++ ..._000001_create_personal_access_tokens_table.php | 36 ++++++++++++++++++++ .../2022_01_23_082135_create_books_table.php | 36 ++++++++++++++++++++ .../2022_01_23_082852_published_could_be_null.php | 32 ++++++++++++++++++ .../2022_01_23_083556_create_authors_table.php | 35 +++++++++++++++++++ .../2022_01_23_083714_add_author_of_a_book.php | 33 ++++++++++++++++++ .../iBook/database/seeders/DatabaseSeeder.php | 18 ++++++++++ 11 files changed, 334 insertions(+) create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/.gitignore create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/factories/UserFactory.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_08_19_000000_create_failed_jobs_table.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082135_create_books_table.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_082852_published_could_be_null.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083556_create_authors_table.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/migrations/2022_01_23_083714_add_author_of_a_book.php create mode 100644 Year_3/TSDWL/LARAVEL/iBook/database/seeders/DatabaseSeeder.php (limited to 'Year_3/TSDWL/LARAVEL/iBook/database') 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 @@ + $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 @@ +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 @@ +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 @@ +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 @@ +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 @@ +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 @@ +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 @@ +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 @@ +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 @@ +create(); + } +} -- cgit v1.2.3-18-g5258