Laravel sqlite相对路径

rqdpfwrv  于 2022-12-13  发布在  SQLite
关注(0)|答案(3)|浏览(191)

我想在多台电脑上部署我的应用程序,它使用sqlite作为数据库。有没有办法在我的env文件中设置一个相对路径而不是绝对路径?有没有替代sqlite的方法来拥有可移植的数据库?
例子是无论如何也要用到这样的东西:

DB_DATABASE=${ variable/to/database/folder }/database.sqlite

代替:

DB_DATABASE=C:\wamp64\www\JUICE\projects\my-project\database\database.sqlite
w8f9ii69

w8f9ii691#

第一步注解掉.env中的DB_DATABASE:

#DB_DATABASE=homestead

其次,检查config/database.php中是否有此代码,它是laravel随附的代码:

'sqlite' => [
            'driver' => 'sqlite',
            'url' => env('DATABASE_URL'),
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
        ],

而且,由于依赖于路径帮助器database_path(),因此数据库路径相对于应用程序根目录并随应用程序目录而变化。
我不能给予你任何选择,我用sqlite为本地开发满意。

qgzx9mmu

qgzx9mmu2#

缺省数据库配置已包括sqlite数据库文件的相对路径

'database' => env('DB_DATABASE', database_path('database.sqlite')),

现在,要使用.env变量重命名文件,但保留相对路径,您可以这样做.env

DB_DATABASE=different-name.sqlite

config/database.php

'database' => database_path(env('DB_DATABASE')),

有没有替代sqlite的可移植数据库?
您可以将任何数据库(如MySQL)导出为填充了数据的.sql文件,并将其推送到您的git存储库中
以下是使用Python脚本对Redis执行此操作的示例

# dump database 0
./redisdl.py > dump.json
./redisdl.py -o dump.json

# load into database 0
./redisdl.py -l < dump.json
./redisdl.py -l dump.json
icnyk63a

icnyk63a3#

我可以确认,下面的作品为最新版本的Laravel.
在config/database.php中,使用database_path()帮助器修改数据库键/值对:

'database' => env('DB_DATABASE', database_path('database.sqlite')),

相关问题