5. 创建第一个实例

5.1. 实例创建

现在我们创建了一个多维数据集,我们可以创建一个实例并通过Web浏览器访问它。我们将使用 all-in-one 简化配置:

cubicweb-ctl create -c all-in-one mycube myinstance

注解

请注意,我们为演示目的创建了一个新的多维数据集,但是您可以使用我们的标准库中现有的多维数据集,例如blog或person。

系统将提示您一系列问题,默认答案通常足够。以后您仍然可以通过编辑配置文件来修改配置。当请求登录/密码访问数据库时,请使用配置数据库时创建的凭据。 (《PostgreSQL》

在这里,重要的是要区分用于访问数据库的用户和用于登录CubicWeb实例的用户。当实例启动时,它使用数据库的登录名/密码来获取模式并处理低级事务。但是,当 cubicweb-ctl create 要求经理登录/psswd CubicWeb ,它是指在开发过程中用于管理Web实例的用户。稍后,可以使用此用户为最终Web实例创建其他用户。

5.2. 实例管理

5.2.1. 启动/停止

完成此命令后,实例的定义位于 ~/etc/cubicweb.d/myinstance/* .要启动它,只需键入:

cubicweb-ctl pyramid -D myinstance

选择权 -D 指定 调试模式 :实例未在服务器模式下运行,并且未断开与终端的连接,这在实例未正确启动时简化了调试。您可以通过访问URL来查看它的外观。 http://localhost:8080 (端口号取决于您的配置)。要登录,请使用创建实例时定义的CubicWeb管理员登录/密码。

要关闭实例,终端窗口中的crtl-c就足够了。如果你不使用这个选项 -D ,然后键入:

cubicweb-ctl stop myinstance

就这样!一切都已定下来开始开发您的数据模型…

注解

产量 cubicweb-ctl pyramid -D myinstance 可能是压倒性的。可以使用 --loglevel 参数如中所示 cubicweb-ctl pyramid -D myinstance -l info 过滤掉下面的所有日志 info 重力。

5.2.2. 升级

每当安装新版本的CubicWeb或多维数据集时,都需要手动升级步骤,以便将实例的配置和模式与新代码同步。命令是:

cubicweb-ctl upgrade myinstance

我们将提出一系列问题。它总是从一个建议开始,对你的资源进行备份(如果适用的话)。除非您确切地知道自己在做什么(即通常在调试模式下进行修改,但绝对不迁移生产实例),否则您应该回答“是”。

剩下的问题涉及 CubicWeb ,然后是构成整个应用程序的多维数据集,按相反的依赖顺序。

原则上,如果迁移脚本已经被正确地编写和测试,那么您应该对所有问题都回答“是”。

有时,通常在调试迁移脚本时,发生了一些错误,迁移失败。不幸的是,数据库可能处于不连贯状态。这里有两个选项:

  • 修复错误,恢复数据库并从头开始迁移过程(在生产环境中非常推荐)

  • 尝试将迁移重播到最后一次成功提交,即在失败的步骤之前对所有问题都回答“否”,然后对其余问题回答“是”以完成迁移。