shadowprince / autoparis
为 idiorm & paris 集成和构建的自动化方案创建器和更新器。目前只支持 MySQL
0.1.3
2013-11-17 12:09 UTC
Requires
- php: >=5.2.0
- j4mie/paris: *
This package is not auto-updated.
Last update: 2024-09-23 14:31:54 UTC
README
Autoparis 是一个库,它扩展了 j4mie 的 paris ORM,以实现自动化方案创建并保持其更新。
如何使用它?
安装
可以通过 composer 简单地安装 Autoparis,实际安装信息可以在 Packagist 页面 上找到。
要求
- 模型应扩展 \Autoparis\AutoModel 并提供公共(非静态)方法 getFields()。它应返回 \Autoparis\Field 实例或扩展它的类的数组。
- 每个模型的 public static $_field 应设置。
- 您应该在 bin/autoparis.php 中提供 lookup_models() 函数,该函数将返回模型类数组。
- 并且您应该在启动 autoparis 时正确配置 idiorm(您可以通过简单地包含您的项目引导文件来实现,这将调用 ORM::configure)
使用方法
Autoparis 是一个位于 bin/autoparis.php 的 cli 工具。您可以通过 --help 获取帮助。Autoparis 的行为类似于 django 的工具。默认情况下,autoparis 将更新 lookup_models() 返回的所有模型的方案,如 django,如果未提供 --force 选项,autoparis 不会修改您的表,因为这可能会损坏数据,因此不要在生产数据库上运行它。
文档
存在 文档,涵盖了可能不清楚且有用的几个主题。
示例
// model class
class User extends \Autoparis\AutoModel {
public static $_table = 'users';
public function getFields() {
return [
new \Autoparis\Int("id", ["nn" => true]),
new \Autoparis\Varchar("username", 32),
new \Autoparis\Varchar("password"", 32),
new \Autoparis\DateTime("joined", ["default" => "now"])
];
}
// in autoparis.php
ORM::configure(...);
function lookup_models() {
return ["\User"];
}
$ ./autoparis.php
Processing \User...
Up to date.
mysql [db]> show columns from users;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | NO | | NULL | |
| username | varchar(32) | YES | | NULL | |
| password | varchar(32) | YES | | NULL | |
| joined | datetime | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+