1

在我的 CakePHP 应用程序中,我已经导出了我的数据库模式,但是现在我只需要用于为用户预填充的数据。

将不起作用,因为它仅生成架构:

cake schema generate

寻找将在数据库中生成当前数据的插入或更新的解决方案。

更新:

这是针对我正在编写的安装程序的。当用户完成安装时,它应该使用应用程序所需的数据填充数据库。

4

2 回答 2

3

使用 MySQL 执行此操作:

mysqldump -u <username> -p <databasename>

将 和 替换为您的用户名和数据库名称。

于 2012-09-05T23:11:20.007 回答
1

注意: OP 本身并没有询问如何从数据库命令行获取数据。他想创建一个安装程序,在用户运行安装程序时填充数据库。例如,当您安装 WordPress 时,您不会运行 mysqldump,对吗?应用程序会处理它。这是一个类似的情况。

最简单的方法是使用应用程序附带的模型。

检查系统是否安装,如果没有,运行以下命令:

  1. 打开安装程序,以表格形式询问数据库凭据
  2. 使用凭据创建数据库
  3. 如果无法创建数据库,说明必须手动创建数据库
  4. 将凭据保存到 database.php 配置中的正确位置
  5. 从控制器内创建模式
  6. 构建模式后,从模型中加载所有预设数据

利用蛋糕中的安装控制器/数据库模型进行提升。例如,如果你想预加载一些配置设置:

$config['Config']['setting_1'] = 'foo';
$config['Config']['setting_2'] = 'bar';

$this->loadModel('Config');
$this->Config->create();
$this->Config->save($config);

希望有帮助。

于 2012-09-06T18:34:01.570 回答