Man*_*ndy 10 php laravel laravel-5
我遇到了大问题.我试图朗读php artisan migrate生成表迁移,但我收到
php artisan list错误.我试过并在互联网上搜索,我误解了,但我没有得到任何解决方案.
我也试过基表或查看未找到:1146表Laravel 5和做一个Laravel教程,得到"基表或视图未找到:1146表'sdbd_todo.migrations'不存在",但我没有成功.
我也试过跑php artisan migrate,但我又得到了同样的错误.我不知道为什么.请建议我的解决方案.
更新
**RolesPermission migration table**
Schema::create('roles', function(Blueprint $table){
$table->increments('id');
$table->string('name')->unique();
$table->string('label');
$table->string('description')->nullable();
$table->timestamps();
});
Schema::create('permissions', function(Blueprint $table){
$table->increments('id');
$table->string('name')->unique();
$table->string('label');
$table->string('description')->nullable();
$table->timestamps();
});
Schema::create('permission_role', function(Blueprint $table){
$table->integer('permission_id')->unsigned();
$table->integer('role_id')->unsigned();
$table->foreign('permission_id')
->references('id')
->on('permissions')
->onDelete('cascade');
$table->foreign('role_id')
->references('id')
->on('roles')
->onDelete('cascade');
$table->primary(['permission_id', 'role_id']);
});
Schema::create('role_user', function(Blueprint $table){
$table->integer('role_id')->unsigned();
$table->integer('user_id')->unsigned();
$table->foreign('role_id')
->references('id')
->on('roles')
->onDelete('cascade');
$table->foreign('user_id')
->references('id')
->on('users')
->onDelete('cascade');
$table->primary(['role_id', 'user_id']);
});
.env file
APP_ENV=local
APP_DEBUG=true
APP_KEY=W8YWZe3LCngvZzexH3WLWqCDlYRSufuy
DB_HOST=127.0.0.1
DB_DATABASE=testing
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=log
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Run Code Online (Sandbox Code Playgroud)
Dar*_*boy 10
我只是遇到了同样的问题。
我的解决方案是评论我在boot方法中放入的内容AppServiceProvider(因为在那里我有不存在的模型请求)。
我把它跑到了类似的问题上。
好像我在路由文件中执行了一个模型查询。所以它每次都会执行,甚至在运行实际迁移之前。
//Problematic code
Route::view('users', 'users', [ 'users' => User::all() ]);
Run Code Online (Sandbox Code Playgroud)
所以我把它改成
Route::get('/users', function () {
return view('users', ['users' => User::all()]);
});
Run Code Online (Sandbox Code Playgroud)
一切正常。确保在执行路径上没有执行任何模型查询,然后尝试迁移。
检查您的迁移文件,也许您正在使用Schema :: table,如下所示:
Schema::table('table_name', function ($table) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
如果要创建新表,则必须使用Schema :: create:
Schema::create('table_name', function ($table) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
Laracast 有关此链接的更多信息。
我曾经遇到过同样的问题,我想问题不在您的迁移中,但看起来在数据库中创建权限表之前检查了权限。确保您没有auth middleware添加到您的路线中。或注释掉使用来自 的权限表的任何服务提供商config/app.php。auth middleware最有可能从路线中删除直到生成迁移才能解决您的问题
| 归档时间: |
|
| 查看次数: |
11162 次 |
| 最近记录: |