daynnnnn / statamic-database
该包已被废弃,不再维护。未建议替代包。
该包最新版本(v1.7.2)的许可证信息不可用。
允许您将所有Statamic数据存储在数据库中。
v1.7.2
2022-08-29 10:08 UTC
Requires
- doctrine/dbal: ^3.1
- statamic/cms: ^3.0
Requires (Dev)
- phpstan/phpstan: ^0.12.89
This package is auto-updated.
Last update: 2023-06-29 02:22:19 UTC
README
Statamic V3的高效驱动程序,支持以下功能:
- 资产容器
- 蓝图
- 集合
- 条目
- 字段集
- 表单/表单提交
- 全局设置
- 导航
- 分类/术语
- 树
安装
从标准Statamic V3站点,您可以运行:composer require daynnnnn/statamic-database
添加配置文件:php artisan vendor:publish --tag="statamic-database-config"
运行迁移:php please migrate
然后在您的AppServiceProvider的register函数中添加
public function register()
{
if (config('statamic.database.blueprints')) {
$this->app->singleton(
'Statamic\Fields\BlueprintRepository',
'Daynnnnn\StatamicDatabase\Blueprints\BlueprintRepository'
);
}
if (config('statamic.database.fieldsets')) {
$this->app->singleton(
'Statamic\Fields\FieldsetRepository',
'Daynnnnn\StatamicDatabase\Fieldsets\FieldsetRepository'
);
}
}
然后就可以了!
自定义数据库中存储的数据
如果您想自定义数据库中存储的数据,可以通过修改配置文件来覆盖默认行为。
例如,如果您想将一些结构化数据作为yaml存储,以便可以轻松地将其插入版本控制中,您可以这样操作
return [ 'assets_containers' => true, 'asset_metas' => true, 'blueprints' => false, // Default true 'collections' => false, // Default true 'collection_trees' => true, 'entries' => true, 'fieldsets' => false, // Default true 'forms' => false, // Default true 'form_submissions' => true, 'globals' => true, 'navigation' => true, 'navigation_trees' => true, 'taxonomies' => true, 'terms' => true, ];
这将确保蓝图、集合、字段集和表单存储在yaml文件中,但仍然将提交和条目存储在数据库中。
问题/待解决的问题
- 没有测试。
- 仍然需要添加用户角色/组。
- 尚未进行实际测试,所以可能还需要添加更多。
鸣谢
感谢@statamic在statamic/eloquent-driver中创建条目部分,本项目的许多内容都是基于此开发的。