2015-05-25 16 views
10

Sto cercando di creare tabelle di MySQL in laravel 5. Ho creato un file in /project/database/migrations chiamato users.php:Artisan, la creazione di tabelle nel database

[...] 
public function up() 
{ 
    Schema::create('users', function(Blueprint $table) 
    { 
     $table->increments('id'); 
     $table->string('username'); 
     $table->string('fullname'); 
     $table->int('number'); 
     $table->string('email')->unique(); 
     $table->string('password', 60); 
     $table->rememberToken(); 
     $table->timestamps(); 
    }); 
} 
[...] 

Poi ho provato a fare funzionare questi comandi nella project -cartella:

$ php artisan migrate 
$ php artisan migrate:install 
$ php artisan migrate --pretend 

Nessuno di questi restituisce alcuno output e non vengono create tabelle. Il database da compilare esiste.

+0

Utilizzare questo comando 'php artisan make: migration CreateUsersTable --create' per creare la migrazione e quindi eseguire' php artisan migrate' – vps

risposta

18

I file di migrazione devono corrispondere al modello *_*.php, altrimenti non verranno trovati. Poiché users.php non corrisponde a questo modello (non ha carattere di sottolineatura), questo file non verrà trovato dal migratore.

Idealmente, si dovrebbe essere la creazione dei file di migrazione utilizzando artigianale:

php artisan make:migration create_users_table 

Questo creerà il file con il nome appropriato, che è quindi possibile modificare per rimpolpare la migrazione. Il nome includerà anche il timestamp, per aiutare il migratore a determinare l'ordine delle migrazioni.

È anche possibile utilizzare i --create o --table interruttori per aggiungere un po 'di più boilerplate per aiutarti ad iniziare:

php artisan make:migration create_users_table --create=users 

La documentazione sulle migrazioni può essere trovato here.

Problemi correlati