Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Jalankan SQL mentah dalam migrasi

Masalahnya (seperti yang dikatakan @postashin) adalah backtick.

Pada Laravel 5 (tidak yakin tentang Laravel 4), Anda bisa melakukan ini:

DB::statement('ALTER TABLE `users` MODIFY `age` DATETIME');

Bahkan Anda bahkan tidak membutuhkan kutu belakang karena mereka tidak perlu melarikan diri. Jadi Anda bisa saja menulis:

DB::statement('ALTER TABLE users MODIFY age DATETIME');

Anda juga tidak memerlukan ini dalam penutupan jika Anda hanya menjalankan pernyataan basis data.

Namun pendekatan yang lebih baik untuk apa yang Anda lakukan adalah sebagai berikut:

Schema::table('users', function(Blueprint $table) {
    $table->dateTime('age')->change();
});

Perhatikan bahwa solusi terakhir terkadang dapat menimbulkan kesalahan karena bug di Doctrine, yang biasanya terjadi jika Anda memiliki enum di tabel (bukan hanya kolom yang Anda ubah).

Untuk informasi selengkapnya, lihat Migrasi Database Laravel - Memodifikasi Kolom



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengubah array MySQL JSON menjadi string yang dipisahkan koma

  2. Bermigrasi dari replikasi tradisional ke GTID

  3. Bagaimana cara mengkonfigurasi Django menggunakan pymysql sebagai driver?

  4. Akses ditolak untuk pengguna 'root'@'localhost' dengan PHPMyAdmin

  5. Cara mendapatkan 2 item terbaru per kategori dalam satu pilihan (dengan mysql)