我想在多台电脑上部署我的应用程序,它使用sqlite作为数据库。有没有办法在我的env文件中设置一个相对路径而不是绝对路径?有没有替代sqlite的方法来拥有可移植的数据库?例子是无论如何也要用到这样的东西:
DB_DATABASE=${ variable/to/database/folder }/database.sqlite
代替:
DB_DATABASE=C:\wamp64\www\JUICE\projects\my-project\database\database.sqlite
w8f9ii691#
第一步注解掉.env中的DB_DATABASE:
#DB_DATABASE=homestead
其次,检查config/database.php中是否有此代码,它是laravel随附的代码:
config/database.php
'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为本地开发满意。
database_path()
sqlite
qgzx9mmu2#
缺省数据库配置已包括sqlite数据库文件的相对路径
'database' => env('DB_DATABASE', database_path('database.sqlite')),
现在,要使用.env变量重命名文件,但保留相对路径,您可以这样做.env
.env
DB_DATABASE=different-name.sqlite
'database' => database_path(env('DB_DATABASE')),
有没有替代sqlite的可移植数据库?您可以将任何数据库(如MySQL)导出为填充了数据的.sql文件,并将其推送到您的git存储库中以下是使用Python脚本对Redis执行此操作的示例
.sql
# 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
icnyk63a3#
我可以确认,下面的作品为最新版本的Laravel.在config/database.php中,使用database_path()帮助器修改数据库键/值对:
3条答案
按热度按时间w8f9ii691#
第一步注解掉.env中的DB_DATABASE:
其次,检查
config/database.php
中是否有此代码,它是laravel随附的代码:而且,由于依赖于路径帮助器
database_path()
,因此数据库路径相对于应用程序根目录并随应用程序目录而变化。我不能给予你任何选择,我用
sqlite
为本地开发满意。qgzx9mmu2#
缺省数据库配置已包括sqlite数据库文件的相对路径
现在,要使用
.env
变量重命名文件,但保留相对路径,您可以这样做.env
config/database.php
有没有替代sqlite的可移植数据库?
您可以将任何数据库(如MySQL)导出为填充了数据的
.sql
文件,并将其推送到您的git存储库中以下是使用Python脚本对Redis执行此操作的示例
icnyk63a3#
我可以确认,下面的作品为最新版本的Laravel.
在config/database.php中,使用database_path()帮助器修改数据库键/值对: