Mysql 在Yii中,有没有一种方法可以用YAML或XML之类的语言编写模式?

Mysql 在Yii中,有没有一种方法可以用YAML或XML之类的语言编写模式?,mysql,schema,yaml,yii,Mysql,Schema,Yaml,Yii,我一直在使用Symfony,其中您用YAML编写模式,我很惊讶在Kohana和Yii中我都必须用SQL编写模式 对我来说,在YAML中使用它的优点是它提供了默认值、与数据库无关的模式、更好的可读性以及。。。这比自己编写MySQL要简单 因此,有两个问题: 自己编写SQL有什么好处吗? 有没有一种用Yii编写YAML模式的方法? Yii写得很好。它与第三方库一起工作。下面是关于如何使用的链接 此外,您不必用Yii编写SQL。您可以使用活动记录。比如: $model= new TableModel(

我一直在使用Symfony,其中您用YAML编写模式,我很惊讶在Kohana和Yii中我都必须用SQL编写模式

对我来说,在YAML中使用它的优点是它提供了默认值、与数据库无关的模式、更好的可读性以及。。。这比自己编写MySQL要简单

因此,有两个问题:

自己编写SQL有什么好处吗? 有没有一种用Yii编写YAML模式的方法?
Yii写得很好。它与第三方库一起工作。下面是关于如何使用的链接

此外,您不必用Yii编写SQL。您可以使用活动记录。比如:

$model= new TableModel();
$model->attributes=$_POST['form'];
$model->save();

这将为使用其建模的表编写插入查询

Yii自1.1.6版起也有一个迁移工具:


然后,您可以在非SQL+中定义您的模式,这得益于版本控制+向上/向下迁移数据库。

这两种方法都有利弊吗?我个人喜欢active record。我不必为简单的crud任务编写SQL。这有利于快速开发环境。如果您有一个非常复杂的查询,您仍然可以使用active record类降低到该级别并编写SQL。我会查出来的,谢谢。