آفلاین
user-avatar

اعمال تغییرات روی یک ماگریشن و سپس روی جدول مربوطه در دیتا بیس

3 سال پیش
توسط سید رضا موسوی آپدیت شد
آفلاین
user-avatar
سید رضا موسوی ( 6957 تجربه )
3 سال پیش
تخصص : برنامه

سلام
یک دستور میخوام که دیتابیس رفرش نشود،
مثلا نام یک فیلد یا نوع یک فیلد را می خواهم از روی ماگریشن تغییر دهم، ماگریشنی که با یکسری ماگریشن دیگه روی دیتا بیس اعمال و ساخته شده اند و عملا استفاده از رول بک کاری اشتباه هست.

بهترین پاسخ انتخاب شده توسط سید رضا موسوی
آفلاین
user-avatar
محمد
3 سال پیش

سلام
نیازی به ریفرش نیست. شما می‌تونید یک مایگریشن دیگه درست کنید که در اون مایگریشن فقط یک فیلد را به یک جدول اضافه کنید.
مثلا

class AddColumnApiTokenToUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('api_token',60)->nullable()->unique();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('api_token');
        });
    }
}
آفلاین
user-avatar
محمد ( 768 تجربه )
3 سال پیش

سلام
نیازی به ریفرش نیست. شما می‌تونید یک مایگریشن دیگه درست کنید که در اون مایگریشن فقط یک فیلد را به یک جدول اضافه کنید.
مثلا

class AddColumnApiTokenToUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->string('api_token',60)->nullable()->unique();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('users', function (Blueprint $table) {
            $table->dropColumn('api_token');
        });
    }
}
آفلاین
user-avatar
hossein ( 150 تجربه )
3 سال پیش

سلام
اگه فیلد primarykey باشه بخواهیم تغییر بدیم باید چه کار کنیم؟

آفلاین
user-avatar
سید رضا موسوی ( 6957 تجربه )
3 سال پیش
تخصص : برنامه
برای ارسال پاسخ باید وارد سایت شوید