پنوشتههای یک برنامهنویس ناشی
🫂 @StartBevy
Post #345
353
فصل پنج - Migrations and Database
بخش اول - تعریف و اجرای Migrationها
1- متد after
مشخص میکند که ستون باید بعد از ستون دیگری قرار گیرد.
این متد فقط برای برخی پایگاههای داده (مانند MySQL) پشتیبانی میشود.
2- متد autoIncrement
مشخص میکند که ستون به صورت AUTO_INCREMENT تعریف شود.
3- متد charset
تنظیم charset برای ستون.
4- متد collation
تنظیم collation برای ستون.
5- متد comment
اضافه کردن یک توضیح برای ستون.
6- متد default
مقدار پیشفرض برای ستون را تنظیم میکند.
7- متد first
مشخص میکند که ستون باید در ابتدای جدول قرار گیرد.
این متد فقط برای برخی پایگاههای داده (مانند MySQL) پشتیبانی میشود.
8- متد from
مقدار شروع را برای ستون عددی AUTO_INCREMENT مشخص میکند.
9- متد invisible
مشخص میکند که ستون در نتایج کوئریهای SELECT بهصورت پیشفرض مخفی باشد.
این ویژگی فقط در MySQL 8.0.23 یا بالاتر پشتیبانی میشود.
10- متد nullable
مشخص میکند که ستون میتواند مقدار NULL داشته باشد.
11- متد storedAs
ستون total مقدار price + tax را ذخیره میکند.
12- متد unsigned
مشخص میکند که ستون عددی بدون علامت (unsigned) باشد.
13- متد useCurrent
مقدار پیشفرض ستون را به زمان فعلی تنظیم میکند. معمولاً برای ستونهای timestamp یا datetime استفاده میشود.
14- متد useCurrentOnUpdate
مشخص میکند که ستون در زمان بهروزرسانی رکورد بهصورت خودکار مقدار زمان فعلی را دریافت کند.
15- متد virtualAs
ایجاد یک ستون محاسباتی مجازی (Virtual Generated Column). مقدار این ستون در دیتابیس ذخیره نمیشود.
ستون total مقدار price + tax را محاسبه میکند ولی ذخیره نمیشود.
16- متد generatedAs
تعریف یک ستون تولیدشده (Generated Column) با استفاده از عبارت SQL.
17- متد always
معمولاً همراه با ستونهای تولیدشده (Generated Column) استفاده میشود و مقدار آن همیشه از عبارت SQL تولید میشود.
18- متد change
برای تغییر ویژگیهای ستونهای موجود در یک جدول استفاده میشود.
این متد میتواند پس از 17 متد قبلی فراخوانی شود و ویژگی های ستون فعلی را ویرایش کند.
در این مثال، ستون id به صورت AUTO_INCREMENT ایجاد نشده است، اما با این متد به صورت AUTO_INCREMENT ویرایش می شود.
19- متد dropMorphs
این متد برای حذف ستونی که مربوط به Polymorphic Relations است، استفاده میشود.
20- متد dropRememberToken
این متد برای حذف ستونی که برای ذخیرهی remember token در جداول کاربران استفاده میشود، به کار میرود.
21- متد dropSoftDeletes
این متد برای حذف ستونهایی که مربوط به Soft Deletes هستند استفاده میشود.
22- متد dropSoftDeletesTz
این متد مشابه dropSoftDeletes است، اما برای ستونهایی که از نوع timestamp with timezone استفاده میکنند.
23- متد dropTimestamps
این متد برای حذف ستونهای created_at و updated_at استفاده میشود.
24- متد dropTimestampsTz
این متد مشابه dropTimestamps است، اما برای ستونهای created_at و updated_at که با نوع timestamp with timezone ذخیره شدهاند، استفاده میشود.
#laravel #لاراول #فصل_۵
@AmirhDeveloper
.
بخش اول - تعریف و اجرای Migrationها
1- متد after
مشخص میکند که ستون باید بعد از ستون دیگری قرار گیرد.
این متد فقط برای برخی پایگاههای داده (مانند MySQL) پشتیبانی میشود.
$table->string('middle_name')->after('first_name');2- متد autoIncrement
مشخص میکند که ستون به صورت AUTO_INCREMENT تعریف شود.
$table->integer('id')->autoIncrement();3- متد charset
تنظیم charset برای ستون.
$table->string('name')->charset('utf8mb4');4- متد collation
تنظیم collation برای ستون.
$table->string('name')->collation('utf8mb4_unicode_ci');5- متد comment
اضافه کردن یک توضیح برای ستون.
$table->integer('age')->comment('Age of the user in years');6- متد default
مقدار پیشفرض برای ستون را تنظیم میکند.
$table->string('status')->default('active');7- متد first
مشخص میکند که ستون باید در ابتدای جدول قرار گیرد.
این متد فقط برای برخی پایگاههای داده (مانند MySQL) پشتیبانی میشود.
$table->string('first_name')->first();8- متد from
مقدار شروع را برای ستون عددی AUTO_INCREMENT مشخص میکند.
$table->integer('id')->autoIncrement()->from(1000);9- متد invisible
مشخص میکند که ستون در نتایج کوئریهای SELECT بهصورت پیشفرض مخفی باشد.
این ویژگی فقط در MySQL 8.0.23 یا بالاتر پشتیبانی میشود.
$table->string('secret_code')->invisible();10- متد nullable
مشخص میکند که ستون میتواند مقدار NULL داشته باشد.
$table->string('middle_name')->nullable();11- متد storedAs
$table->integer('price');
$table->integer('tax');
$table->integer('total')->storedAs('price + tax');ستون total مقدار price + tax را ذخیره میکند.
12- متد unsigned
مشخص میکند که ستون عددی بدون علامت (unsigned) باشد.
$table->integer('votes')->unsigned();13- متد useCurrent
مقدار پیشفرض ستون را به زمان فعلی تنظیم میکند. معمولاً برای ستونهای timestamp یا datetime استفاده میشود.
$table->timestamp('created_at')->useCurrent();14- متد useCurrentOnUpdate
مشخص میکند که ستون در زمان بهروزرسانی رکورد بهصورت خودکار مقدار زمان فعلی را دریافت کند.
$table->timestamp('updated_at')->useCurrentOnUpdate();15- متد virtualAs
ایجاد یک ستون محاسباتی مجازی (Virtual Generated Column). مقدار این ستون در دیتابیس ذخیره نمیشود.
$table->integer('price');
$table->integer('tax');
$table->integer('total')->virtualAs('price + tax');ستون total مقدار price + tax را محاسبه میکند ولی ذخیره نمیشود.
16- متد generatedAs
تعریف یک ستون تولیدشده (Generated Column) با استفاده از عبارت SQL.
$table->integer('price');
$table->integer('tax');
$table->integer('total')->generatedAs('price + tax');17- متد always
معمولاً همراه با ستونهای تولیدشده (Generated Column) استفاده میشود و مقدار آن همیشه از عبارت SQL تولید میشود.
$table->integer('total')->generatedAs('price + tax')->always();18- متد change
برای تغییر ویژگیهای ستونهای موجود در یک جدول استفاده میشود.
این متد میتواند پس از 17 متد قبلی فراخوانی شود و ویژگی های ستون فعلی را ویرایش کند.
$table->integer('id')->autoIncrement()->change();در این مثال، ستون id به صورت AUTO_INCREMENT ایجاد نشده است، اما با این متد به صورت AUTO_INCREMENT ویرایش می شود.
19- متد dropMorphs
این متد برای حذف ستونی که مربوط به Polymorphic Relations است، استفاده میشود.
$table->dropMorphs('commentable');20- متد dropRememberToken
این متد برای حذف ستونی که برای ذخیرهی remember token در جداول کاربران استفاده میشود، به کار میرود.
$table->dropRememberToken();
21- متد dropSoftDeletes
این متد برای حذف ستونهایی که مربوط به Soft Deletes هستند استفاده میشود.
$table->dropSoftDeletes();
22- متد dropSoftDeletesTz
این متد مشابه dropSoftDeletes است، اما برای ستونهایی که از نوع timestamp with timezone استفاده میکنند.
23- متد dropTimestamps
این متد برای حذف ستونهای created_at و updated_at استفاده میشود.
$table->dropTimestamps();
24- متد dropTimestampsTz
این متد مشابه dropTimestamps است، اما برای ستونهای created_at و updated_at که با نوع timestamp with timezone ذخیره شدهاند، استفاده میشود.
#laravel #لاراول #فصل_۵
@AmirhDeveloper
.

