2017-06-14 3 views
1

Ich habe eine frische Laravel-Installation. Ich habe Code aus einem Github-Repository verschoben, das ein Laravel-Projekt ist, dieselbe Version (5.3).Laravel 5 Seeder Klasse existiert nicht

Alles funktioniert gut, außer aus irgendeinem Grund wird die Datenbank Samen nicht laufen.

Zum Beispiel kann ich von den github geladenen Migrationen in der neuen Laravel-Installation genauso migrieren, wie ich es auf dem Server tun würde, der die Migrationen zuerst an github weitergeleitet hat.

Aber ich kann nicht php artisan db:seed tun, was bedeutet, dass meine schöne kleine Datenbank leer ist! > :(

ich: Reflection Klasse nicht

Was habe ich versucht habe nicht existiert:

  1. php artisan optimize
  2. php artisan clear:cache
  3. composer clearcache
  4. composer dump-autoload

Keine von denen hat mein Problem gelöst. Alles in DatabaseSeeder ist korrekt geschrieben und die Klassen -do existieren, sie funktionieren gut auf meinem anderen Server, und wieder, diese frische Installation hat jetzt alle die gleichen Dateien wie mein Ursprungsserver, dank Github.

DatabaseSeeder.php:

<?php 

use Illuminate\Database\Seeder; 

class DatabaseSeeder extends Seeder 
{ 
    /** 
    * Run the database seeds. 
    * 
    * @return void 
    */ 
    public function run() 
    { 
     $this->call(UserTableSeeder::class); 
    } 
} 

Bearbeiten - Stack Trace:

2017-06-14 19:11:00] local.ERROR: ReflectionException: Class UserTablesSeeder does not exist in /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:749 
Stack trace: 
#0 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(749): ReflectionClass->__construct('UserTablesSeede...') 
#1 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(644): Illuminate\Container\Container->build('UserTablesSeede...', Array) 
#2 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(709): Illuminate\Container\Container->make('UserTablesSeede...', Array) 
#3 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(55): Illuminate\Foundation\Application->make('UserTablesSeede...') 
#4 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(43): Illuminate\Database\Seeder->resolve('UserTablesSeede...') 
#5 /var/www/laravel/database/seeds/DatabaseSeeder.php(14): Illuminate\Database\Seeder->call('UserTablesSeede...') 
#6 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(63): DatabaseSeeder->run() 
#7 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2292): Illuminate\Database\Console\Seeds\SeedCommand->Illuminate\Database\Console\Seeds\{closure}() 
#8 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(64): Illuminate\Database\Eloquent\Model::unguarded(Object(Closure)) 
#9 [internal function]: Illuminate\Database\Console\Seeds\SeedCommand->fire() 
#10 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(508): call_user_func_array(Array, Array) 
#11 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php(169): Illuminate\Container\Container->call(Array) 
#12 /var/www/laravel/vendor/symfony/console/Command/Command.php(261): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#13 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php(155): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#14 /var/www/laravel/vendor/symfony/console/Application.php(817): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#15 /var/www/laravel/vendor/symfony/console/Application.php(185): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Database\Console\Seeds\SeedCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#16 /var/www/laravel/vendor/symfony/console/Application.php(116): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#17 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(121): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#18 /var/www/laravel/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#19 {main} 
+0

Haben Sie eine Datenbank-Sämaschine erstellt? – Derek

+0

Wenn ja, bitte geben Sie diesen Code – Derek

+0

@Derek Code hinzugefügt –

Antwort

0

ich durch Kommissionierung eine individuelle Klasse, um das Problem bekam:

php artisan db:seed --class=UserTableSeeder 

Wie zu widersetzen, db:seed Ohne irgendwelche Argumente würde ich trotzdem gerne wissen, warum ich das tun muss.

Nochmals, ich habe keine UserTablesSeeder irgendwo in meinem Code, also nicht sicher, warum das Protokoll zeigt, das ist der Startversuch, wenn ich das nie erklären.

Es ist immer UserTableSeeder ohne s in Table.

Edit: Und jetzt funktioniert meine benutzerdefinierte Middleware nicht ... scheint ein Problem mit der frischen Installation zu sein, die einige der neuen Code von Github nicht mögen ... wenn jemand eine bessere Antwort bieten kann, werde ich gerne annehmen.

+0

Noch könnte ein Komponist Problem sein. Entfernen Sie das Vendor-Verzeichnis vollständig und die composer.lock-Datei. Danach führen Sie den Compiler erneut für eine Neuinstallation aus. Wenn Sie können, überprüfen Sie das Vendor/Composer-Verzeichnis und grep für UserTables irgendwo in den Autoload-Dateien. – Robert

+0

@Robert Okay, versuche das und melde mich bei dir. Ich werde einfach installieren und ziehen von Github überall und sehen, ob ich etwas schief gehen kann. Danke für Ihre Hilfe. –

Verwandte Themen