diff options
author | Santo Cariotti <santo@dcariotti.me> | 2022-01-24 19:34:26 +0100 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2022-01-24 19:34:26 +0100 |
commit | 710f54c0156c5fa081bc6af1a68e7cb44723939b (patch) | |
tree | 056a85c362b7b9c5439506a76e0802e57342cc10 /Year_3/TSDWL/LARAVEL/iBook/database | |
parent | b69d50c415ef1571bd42bb3eb1a1b3b38eab43dd (diff) |
add example in laravel
Diffstat (limited to 'Year_3/TSDWL/LARAVEL/iBook/database')
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(); + } +} |