CakePHP
  • 文档
    • 书籍
    • API
    • 视频
    • 报告安全问题
    • 隐私政策
    • 徽标和商标
  • 商业解决方案
  • 周边产品
  • 公路旅行
  • 团队
  • 社区
    • 社区
    • 参与
    • 问题 (Github)
    • Bakery
    • 精选资源
    • 培训
    • 聚会
    • 我的 CakePHP
    • CakeFest
    • 新闻稿
    • Linkedin
    • YouTube
    • Facebook
    • Twitter
    • Mastodon
    • 帮助和支持
    • 论坛
    • Stack Overflow
    • IRC
    • Slack
    • 付费支持
CakePHP

C CakePHP 5.1 Chiffon API

  • 项目
    • CakePHP
      • CakePHP
      • Chronos
      • Elastic Search
      • 队列
  • 版本
    • 5.1
      • 5.1
      • 5.0
      • 4.5
      • 4.4
      • 4.3
      • 4.2
      • 4.1
      • 4.0
      • 3.10
      • 3.9
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

命名空间

  • 全局
  • Cake
    • 缓存
    • 集合
    • 命令
    • 控制台
    • 控制器
    • 核心
    • 数据库
    • 数据源
    • 错误
    • 事件
    • 表单
    • Http
    • 国际化
    • 日志
    • 邮件
    • 网络
    • ORM
    • 路由
    • 测试套件
      • 约束
      • Fixture
        • 扩展
      • 存根
    • 工具
    • 验证
    • 视图

类 SchemaLoader

从一个或多个 SQL 转储文件创建测试数据库架构。

当您的架构由 CakePHP 应用程序外部的工具管理时,此类可能有助于创建测试数据库架构。

它不适合需要支持多个数据库平台的应用程序/插件。您应该改为使用迁移。

命名空间: Cake\TestSuite\Fixture

方法概要

  • loadInternalFile() public

    加载并应用 CakePHP 架构文件。

  • loadSqlFiles() public

    加载并应用架构 SQL 文件,或文件数组。

方法详情

loadInternalFile() ¶ public

loadInternalFile(string $file, string $connectionName = 'test'): void

加载并应用 CakePHP 架构文件。

此方法将处理 $file 返回的数组,并将内容视为表架构列表。

一个示例表是

return [
  'articles' => [
     'columns' => [
         'id' => [
             'type' => 'integer',
         ],
         'author_id' => [
             'type' => 'integer',
             'null' => true,
         ],
         'title' => [
             'type' => 'string',
             'null' => true,
         ],
         'body' => 'text',
         'published' => [
             'type' => 'string',
             'length' => 1,
             'default' => 'N',
         ],
     ],
     'constraints' => [
         'primary' => [
             'type' => 'primary',
             'columns' => [
                 'id',
             ],
         ],
     ],
  ],
];

这种架构格式对于希望包含测试的表但不需要通过迁移包含生产就绪架构的插件很有用。为了便于维护,应用程序应优先使用迁移或 SQL 转储文件而不是这种格式。

可以在 tests/schema.php 中找到更完整的示例。

参数
string $file

架构文件

string $connectionName 可选

连接名称

返回值
void
抛出
InvalidArgumentException
对于缺少的表名。

loadSqlFiles() ¶ public

loadSqlFiles(list<string>|string $paths, string $connectionName = 'test', bool $dropTables = true, bool $truncateTables = false): void

加载并应用架构 SQL 文件,或文件数组。

参数
list<string>|string $paths

要加载的架构文件

string $connectionName 可选

连接名称

bool $dropTables 可选

在加载架构文件之前删除所有表

bool $truncateTables 可选

在加载架构文件后截断所有表

返回值
void
OpenHub
Pingping
Linode
  • 商业解决方案
  • 展示
  • 文档
  • 书籍
  • API
  • 视频
  • 报告安全问题
  • 隐私政策
  • 徽标和商标
  • 社区
  • 参与
  • 问题 (Github)
  • Bakery
  • 精选资源
  • 培训
  • 聚会
  • 我的 CakePHP
  • CakeFest
  • 新闻稿
  • Linkedin
  • YouTube
  • Facebook
  • Twitter
  • Mastodon
  • 帮助和支持
  • 论坛
  • Stack Overflow
  • IRC
  • Slack
  • 付费支持

使用 CakePHP API 文档 生成