部署 Silverstripe 站点时处理数据库

Handling database when deploying Silverstripe site

我有一个使用 Silverstripe 构建的小型测试项目,我已经在我的本地开发机器上完成并想将它部署到服务器。我的问题是我应该如何处理我的开发计算机上的数据库。

转储数据库并在服务器上导入是否有效?或者 Silverstripe 是否将可能导致问题的信息存储在数据库中? 当我之前在 Wordpress 上尝试过这个时,它很复杂,因为它存储了完整的 url,比如 "localhost/etc".

您可以安全地获取本地数据库并将其投入生产,也就是说,假设您的本地数据库当然是您希望在生产中拥有的。

SilverStripe 不需要在数据库中存储那种信息。

您想将数据库和资产移动到服务器。正如 Simon Erkelens 所说,这可以毫无问题地完成。服务器特定的所有内容(如路径、域等)都会自动收集或在每台服务器上配置。

SilverStripe also has with a great tool, called sspak,抓取数据库和资产并将其打包在 tar.gz 文件中。您可以将其上传到服务器,然后 运行 该工具在配置数据库凭据后再次将其导入到那里。

您可以使用 composer 全局或按项目安装它。

在windows远程部分无法正常工作,所以我总是将项目中的sspak文件保存在本地,上传它,然后在服务器上再次运行sspak。

在本地保存数据库和资产:

sspak save /path/to/silverstripe-local/webroot /tmp/mysite.sspak

在服务器上反之亦然:

sspak load ~/temp/mysite.sspak /path/to/silverstripe-on-server/webroot