urbics/civitools

用于将 CiviCRM 数据库集成到 Laravel 项目中的工具。

v0.26 2018-01-08 04:06 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:36:52 UTC


README

将 CiviCRM 数据库集成到 Laravel 项目中的工具。

控制台命令,用于从 CiviCRM 的 schema.xml 源(截至 4.7)构建所有 CiviCRM 表的迁移,以及从 civicrm_data.mysql 和 civicrm_acl.mysql 源生成种子文件,还包括所有 CiviCRM 表的实体模型类;还包括控制台命令,用于直接从 civicrm.mysql 生成 CiviCRM 数据库,以及备份和恢复 CiviCRM 数据库。

包安装

composer require urbics/civitools

或者手动修改 composer.json

"require": {
    "urbics/civitools": "~0.1"
}

composer install

安装器将 CIVI_DB_XXX 设置添加到 .env 文件中,这些设置应进行审查以匹配您的配置。这些工具使用这些设置来连接到数据库。

工具

  • civi:make:db 用于创建数据库并使用 CiviCRM 的 civicrm.msql 脚本构建表。
  • civi:make:migration 用于生成 Laravel 迁移文件,可选地包括种子文件和模型类。注意:您可能需要将文件限制增加到 256 以上。在 Mac OS 上:ulimit -n 1024
  • 使用 Laravel 的迁移构建表:php artisan migrate --database=civicrm --path=database/migrations/civi --seed(这些是默认设置 - 根据需要更改数据库连接和路径)。
  • civi:db:backup 用于备份或恢复 civicrm 数据库。确保在 .env 文件中设置 CIVI_DB_CONNECTION、CIVI_DB_DATABASE、CIVI_DB_HOST、CIVI_DB_USERNAME 和 CIVI_DB_PASSWORD,如果 civicrm 数据库设置与项目默认设置不同。

局限性和注意事项

这是与 urbics/laracivi 相同的包,去除了 civi api 功能和 civicrm-core 及 civicrm-packages。它适用于需要直接访问 CiviCRM 但与 civicrm-core 包存在依赖版本冲突的项目。

测试

项目包括每个控制台命令的 phpunit 测试。