shadowprince/autoparis

为 idiorm & paris 集成和构建的自动化方案创建器和更新器。目前只支持 MySQL

0.1.3 2013-11-17 12:09 UTC

This package is not auto-updated.

Last update: 2024-09-23 14:31:54 UTC


README

Autoparis 是一个库,它扩展了 j4mie 的 paris ORM,以实现自动化方案创建并保持其更新。

如何使用它?

安装

可以通过 composer 简单地安装 Autoparis,实际安装信息可以在 Packagist 页面 上找到。

要求

  1. 模型应扩展 \Autoparis\AutoModel 并提供公共(非静态)方法 getFields()。它应返回 \Autoparis\Field 实例或扩展它的类的数组。
  2. 每个模型的 public static $_field 应设置。
  3. 您应该在 bin/autoparis.php 中提供 lookup_models() 函数,该函数将返回模型类数组。
  4. 并且您应该在启动 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    |       |
    +----------+-------------+------+-----+---------+-------+