如何在Laravel 5中为表使用全局前缀

5 laravel laravel-5 artisan artisan-migrate laravel-5.2

Laravel的新功能。可能是一个愚蠢的问题。我有这样的安装数据库:

'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => 'mydb',
        'username' => 'myusername',
        'password' => 'mypassword',
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => 'admin',
        'strict' => false,
        'engine' => null,
    ],
Run Code Online (Sandbox Code Playgroud)

通知'prefix' => 'admin'。这是因为我希望与网站控制面板相关的所有表都以admin为前缀,例如:admin_users,admin_log等。

但是我一开始就被困住了。我正在尝试通过artisan创建迁移,但未在创建带有前缀的表。

php artisan make:migration create_users_table --create=users
Run Code Online (Sandbox Code Playgroud)

我希望可以创建一个名为的表admin_users。但事实并非如此。

我这样做对吗?

aal*_*aap 7

Laravel缓存配置文件,因此您可能只需要清除缓存:

php artisan config:clear
Run Code Online (Sandbox Code Playgroud)

除此之外,更好的做法是使用.env文件来定义您的前缀,如下所示:

...
DB_PREFIX=admin_
...
Run Code Online (Sandbox Code Playgroud)

并将其加载到您的配置文件中,如下所示:

'prefix' => env('DB_PREFIX', 'abc')
Run Code Online (Sandbox Code Playgroud)

这就是默认情况下的样子。

您已经从.env文件中加载了主机名和端口,那么为什么不对其他值也这样做呢?


小智 0

将创建没有前缀的迁移。运行后php artisan migrate你应该看到带有前缀的表