shasoft/db-schema
最新稳定版本:v2.0.1
Composer 安装命令:
composer require shasoft/db-schema
包简介
Versioning/migrating database changes
README 文档
README
Простой пример определения таблицы БД:
#[Title('Таблица для примера')] class TabExample { #[Title('Идентификатор')] protected ColumnId $id; #[Title('Имя')] protected ColumnString $name; // Первичный ключ #[Columns('id')] protected IndexPrimary $pkKey; }
В данном примере через класс TabExample определяется таблица, содержащая два поля и один индекс. Миграции для указанного примера создаются следующим образом:
// Получить миграции $migrations = DbSchemaMigrations::get([ // Класс таблицы TabExample::class, ], // Драйвер для получения миграций DbSchemaDriverMySql::class ); // Создать PDO соединение $pdo = new \PDO( 'mysql:dbname=cmg-db-test;host=localhost', 'root' ); // Выполнить миграции $migrations->run($pdo);
В результате выполнения миграций в БД создастся таблица БД с помощью следующего SQL кода
CREATE TABLE `tabexample`( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Идентификатор', `name` VARCHAR(255) NULL COMMENT 'Имя', PRIMARY KEY(`id`) USING BTREE ) COMMENT 'Таблица для примера';
Можно отменить последнии миграции с помощью следующего кода
// Отменить последнии миграции $migrations->cancel($pdo);
эти миграции будут отменены с помощью следующего SQL кода
DROP TABLE IF EXISTS `tabexample`
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-12-29