我有一个使用 Silverstripe 构建的小型测试项目,我在本地开发机器上完成了该项目,并希望将其部署到服务器上。我的问题是我应该如何处理我的开发计算机上的数据库。
转储数据库并将其导入服务器是否有效?或者 Silverstripe 是否将可能导致问题的信息存储在数据库中?当我之前在 Wordpress 上尝试过这个时,它很复杂,因为它存储了完整的 url,比如“localhost/etc”。
我有一个使用 Silverstripe 构建的小型测试项目,我在本地开发机器上完成了该项目,并希望将其部署到服务器上。我的问题是我应该如何处理我的开发计算机上的数据库。
转储数据库并将其导入服务器是否有效?或者 Silverstripe 是否将可能导致问题的信息存储在数据库中?当我之前在 Wordpress 上尝试过这个时,它很复杂,因为它存储了完整的 url,比如“localhost/etc”。
您可以安全地使用本地数据库并将其投入生产,也就是说,假设您的本地数据库当然是您希望在生产中拥有的。
SilverStripe 不需要将此类信息存储在数据库中。
您希望将数据库和资产移动到服务器。正如 Simon Erkelens 已经说过的,这可以毫无问题地完成。服务器特定的所有内容(如路径、域等)都会自动收集或在每台服务器上进行配置。
SilverStripe 还有一个很棒的工具,叫做 sspak,它可以抓取 db 和 assets 并将其打包到 tar.gz 文件中。配置数据库凭据后,您可以将其上传到服务器并再次运行该工具以将其导入那里。
您可以使用 composer 在全局或每个项目中安装它。
在 Windows 上,远程部分无法正常工作,因此我总是将项目中的 sspak 文件保存在本地,上传,然后再次在服务器上运行 sspak。
在本地保存数据库和资产:
sspak 保存 /path/to/silverstripe-local/webroot /tmp/mysite.sspak
在服务器上反之亦然:
sspak 加载 ~/temp/mysite.sspak /path/to/silverstripe-on-server/webroot