当我编写CakePHP应用程序时,我的一个常见任务是键入一个SQL文件并将其写入数据库,然后再运行bake以生成一些脚手架.这是我与CakePHP的极少数抱怨之一 - 这使我与MySQL联系起来,我想知道是否有更好的方法通过代码来完成它.例如,在某些框架中,我可以定义模型使用的列以及数据类型等,然后通过管理界面运行命令,根据代码中显示的内容"构建"数据库.它将在框架后面的任何数据库上执行此操作.
CakePHP 2.x有没有办法可以做到这样的事情?我想在我的Model代码中写出数据库模式,并运行像bake这样的命令来自动生成我需要的表和列.在深入了解cookbook文档后,_schema属性似乎做了我想做的事情:
class Post{
public $_schema = array(
'title' => array('type'=>'text'),
'description' => array('type'=>'text'),
'author' => array('type'=>'text')
);
}
Run Code Online (Sandbox Code Playgroud)
但没有例子说明我将从那里做什么._schema属性是否有不同的用途?任何帮助,将不胜感激!