irap/(table-creator

创建或编辑MySQL表的包。

2.0.0 2024-02-28 08:35 UTC

This package is auto-updated.

Last update: 2024-08-28 09:42:17 UTC


README

一个简化MySQL表管理的包。

示例用法

以下示例演示了如何使用此包轻松创建新的MySQL数据库表

use iRAP\TableCreator\DatabaseField;
use iRAP\TableCreator\TableCreator;
use iRAP\TableCreator\Testing\AbstractTest;

function createTestTable(\mysqli $db)
{
  $tableCreator = new TableCreator($db, "test_table");
          
  $fields = array(
      DatabaseField::createInt('id', 11, true),
      DatabaseField::createBool('bool_field'),
      DatabaseField::createVarchar('varchar_field', 255),
      DatabaseField::createChar('char_field', 3),
      DatabaseField::createDate('date_field'),
      DatabaseField::createDecimal('decimal_field', 5, 4),
      DatabaseField::createGeometry('geometry_field'),
      DatabaseField::createGeometryCollection('geometry_collection_field'),
      DatabaseField::createLineString('line_string_field'),
      DatabaseField::createLongText('long_text_field'),
      DatabaseField::createMultiLineString('multi_line_string_field'),
      DatabaseField::createMultiPoint('multi_point_field'),
      DatabaseField::createMultiPolygon('multi_polygon_field'),
      DatabaseField::createPoint('point_field'),
      DatabaseField::createPolygon('polygon_field'),
      DatabaseField::createText('text_field'),
      DatabaseField::createTimestamp('timestamp_field')
  );
  
  $tableCreator->addFields($fields);
  $tableCreator->setPrimaryKey('id');
  $tableCreator->run();
}

测试

在测试时,您可能发现使用Docker Compose启动临时数据库进行测试更容易,如下所示

version: "3"

services:
  db:
    image: mariadb:latest
    container_name: db
    ports:
      - "3306:3306"
    volumes:
      - temp-mysql-data:/var/lib/mysql
    environment:
      - MARIADB_ROOT_PASSWORD=thisIsTheTestingPa55w0rd
      - MARIADB_DATABASE=testing

volumes:
  temp-mysql-data:
    driver: local

然后,只需从模板创建包含相关值的Settings.php文件,并使用php ./testing/main.php执行测试。