sql >> Database teknologi >  >> RDS >> Mysql

Kør rå SQL i migrering

Problemet (som @postashin sagde) var tilbageslag.

Fra Laravel 5 (ikke sikker på Laravel 4), kunne du have gjort dette:

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

Faktisk havde du ikke engang brug for de bagerste flåter, da de ikke behøver at flygte. Så du kunne bare have skrevet:

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

Du behøver heller ikke dette i lukningen, hvis du bare udfører en databasesætning.

Men en bedre tilgang til det, du laver, er som følger:

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

Bemærk, at den sidste løsning nogle gange kan give en fejl på grund af en fejl i Doctrine, som normalt opstår, hvis du har en enum i tabellen (ikke kun den kolonne, du ændrer).

For mere information, se Laravel Database Migration - Modifying Column



  1. Fjernforbindelser Mysql Ubuntu

  2. læser BLOB-billede fra MySQL-databasen

  3. Doktrin og sammensatte unikke nøgler

  4. Hurtig opdeling af partitionering