atsmacode / orm
基于基础数据库、模型和配置资源的仓库
Requires
- doctrine/dbal: ^3.5
- laminas/laminas-config-aggregator: ^1.12
- laminas/laminas-servicemanager: ^3.19
- monolog/monolog: ^1.22 || ^2.0 || ^3.0
- symfony/console: 5.4.* || ^6.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-26 13:26:02 UTC
README
我创建此存储库是为了提供一些基本资源,以便在我在其他包中使用。
它基本上由以下内容组成
- 迁移命令
- 基于容器的数据库连接
- 模型类
此工具主要是供我个人使用。
环境
PHP
8.1.3
MySQL
8.0.13
命令
Linux
运行单元测试套件
dev/phpunit
Windows
运行单元测试套件
.\dev\runtests.bat
用法
示例配置和迁移主要包含了我目前使用此框架的方式的示例。
迁移器
您可以使用基础迁移器迁移任何一组类。包含的CreateDatabase类可用于删除/创建数据库。
在ExampleMigrator中,构造函数中传递了一个Laminas\ServiceManager\ServiceManager。它使用app/FrameworkConfigProvider.php中的依赖映射设置DB连接。
基础app/Console/Commands/Migrator.php在请求生命周期中查找Atsmacode\Framework\Database\ConnectionInterface,并使用提供的DB凭据执行所有迁移。
此接口在整个请求生命周期中也用于模型DB连接。
然后您可以运行以下命令(-d true用于配置数组中的'test' DB凭据,移除它以用于'live' DB)
php dev/SymfonyApplication.php app:build-framework -d true
提供了创建数据库的独立命令(您可以将它添加到与ExampleMigrator相同方式的SymfonyApplication中)
app/Console/Commands/CreateDatabase.php
php dev/SymfonyApplication.php app:create-database -d true
配置
您需要添加framework.php以配置本地DB凭据,如下所示
<?php
return [
'framework' => [
'db' => [
'live' => [
'servername' => 'localhost',
'username' => 'DB_USER',
'password' => 'DB_PASSWORD',
'database' => 'framework',
'driver' => 'pdo_mysql',
],
'test' => [
'servername' => 'localhost',
'username' => 'DB_USER',
'password' => 'DB_PASSWORD',
'database' => 'framework_test',
'driver' => 'pdo_mysql',
],
]
]
];