Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs folder standardization and other fixes #297

Merged
merged 14 commits into from
Apr 22, 2024
Merged
8 changes: 4 additions & 4 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
Copyright © 2008 by Yii Software (https://www.yiiframework.com/)
Copyright © 2008 by Yii Software (<https://www.yiiframework.com/>)
samdark marked this conversation as resolved.
Show resolved Hide resolved
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

* Redistributions of source code must retain the above copyright
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of Yii Software nor the names of its
* Neither the name of Yii Software nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.

Expand Down
23 changes: 17 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,30 @@ perform advanced database operations such as joins and aggregates.

The package could be installed via composer:

```php
```shell
composer require yiisoft/db-sqlite
```

## Usage
## Documentation

For config connection to SQLite database check [Connecting SQLite](https://github.com/yiisoft/db/blob/master/docs/en/connection/sqlite.md).
English:

[Check the documentation docs](https://github.com/yiisoft/db/blob/master/docs/en/README.md) to learn about usage.
- For config connection to SQLite database check [Connecting SQLite](https://github.com/yiisoft/db/blob/master/docs/en/connection/sqlite.md)
- [Check the yiisoft/db docs](https://github.com/yiisoft/db/blob/master/docs/en/README.md) to learn about usage.

## Testing
Português - Brasil:

[Check the documentation](/docs/en/testing.md) to learn about testing.
- Para configurar a conexão com o SQLite leia [Connecting SQLite](https://github.com/yiisoft/db/blob/master/docs/pt-BR/connection/sqlite.md).
- [Confira a documentação](https://github.com/yiisoft/db/blob/master/docs/pt-BR/README.md) para aprender como usar.

Testing:

- [Internals](docs/internals.md)

## Support

If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a good place for that.
You may also check out other [Yii Community Resources](https://www.yiiframework.com/community).

## Support the project

Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"forum": "https://www.yiiframework.com/forum/",
"wiki": "https://www.yiiframework.com/wiki/",
"chat": "https://t.me/yii3en",
"irc": "irc://irc.freenode.net/yii"
"irc": "ircs://irc.libera.chat:6697/yii"
},
"require": {
"php": "^8.0",
Expand Down
37 changes: 32 additions & 5 deletions docs/en/testing.md → docs/internals.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,47 @@
# Testing
# Internals

## Github actions

All our packages have github actions by default, so you can test your [contribution](https://github.com/yiisoft/db-sqlite/blob/master/.github/CONTRIBUTING.md) in the cloud.
All our packages have github actions by default, so you can test your [contribution](https://github.com/yiisoft/db-mysql/blob/master/.github/CONTRIBUTING.md) in the cloud.
samdark marked this conversation as resolved.
Show resolved Hide resolved

> Note: We recommend pull requesting in draft mode until all tests pass.

## Docker image

For greater ease it is recommended to use docker containers, for this you can use the [docker-compose.yml](https://docs.docker.com/compose/compose-file/) file that is in the docs folder.

1. [MySQL 8](../../../docker-compose.yml)
2. [MariaDB 10.11](../../../docker-compose-mariadb.yml)

For running the docker containers you can use the following command:

MySQL 8.0.

```dockerfile
docker compose up -d
```

MariaDB 10.11.

```dockerfile
docker compose -f docker-compose-mariadb.yml up -d
```

## Unit testing

The package is tested with [PHPUnit](https://phpunit.de/).

The following steps are required to run the tests:

1. Run the docker container for the dbms.
2. Install the dependencies of the project with composer.
3. Run the tests.

```shell
vendor/bin/phpunit
```

### Mutation testing
## Mutation testing

The package tests are checked with [Infection](https://infection.github.io/) mutation framework with
[Infection Static Analysis Plugin](https://github.com/Roave/infection-static-analysis-plugin). To run it:
Expand All @@ -33,8 +60,8 @@ The code is statically analyzed with [Psalm](https://psalm.dev/). To run static

## Rector

Use [Rector](https://github.com/rectorphp/rector) to make codebase follow some specific rules or
use either newest or any specific version of PHP:
Use [Rector](https://github.com/rectorphp/rector) to make codebase follow some specific rules or
use either newest or any specific version of PHP:

```shell
./vendor/bin/rector
Expand Down
51 changes: 0 additions & 51 deletions docs/pt-BR/testing.md

This file was deleted.

2 changes: 1 addition & 1 deletion phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true" executionOrder="default" resolveDependencies="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.1/phpunit.xsd">
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" colors="true" bootstrap="vendor/autoload.php" failOnRisky="true" failOnWarning="true" executionOrder="default" resolveDependencies="true" xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/10.1/phpunit.xsd">
<coverage/>
<php>
<ini name="error_reporting" value="-1"/>
Expand Down
2 changes: 1 addition & 1 deletion src/DQLQueryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public function buildLimit(ExpressionInterface|int|null $limit, ExpressionInterf
/**
* Limit isn't optional in SQLite.
*
* {@see http://www.sqlite.org/syntaxdiagrams.html#select-stmt}
* {@see https://www.sqlite.org/syntaxdiagrams.html#select-stmt}
*/
$sql = 'LIMIT 9223372036854775807 OFFSET ' . // 2^63-1
($offset instanceof ExpressionInterface ? $this->buildExpression($offset) : (string)$offset);
Expand Down
2 changes: 1 addition & 1 deletion src/Dsn.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function __construct(private string $driver, private string|null $databas
/**
* @return string The Data Source Name, or DSN, has the information required to connect to the database.
*
* Please refer to the [PHP manual](http://php.net/manual/en/pdo.construct.php) on the format of the DSN string.
* Please refer to the [PHP manual](https://php.net/manual/en/pdo.construct.php) on the format of the DSN string.
*
* The `driver` array key is used as the driver prefix of the DSN, all further key-value pairs are rendered as
* `key=value` and concatenated by `;`. For example:
Expand Down
2 changes: 1 addition & 1 deletion src/SqlTokenizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
* It's used to obtain `CHECK` constraint information from a `CREATE TABLE` SQL code.
*
* @link http://www.sqlite.org/draft/tokenreq.html
* @link https://www.sqlite.org/draft/tokenreq.html
* @link https://sqlite.org/lang.html
*/
final class SqlTokenizer extends AbstractTokenizer
Expand Down
2 changes: 1 addition & 1 deletion src/Transaction.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ final class Transaction extends AbstractPdoTransaction
* @throws Throwable When unsupported isolation levels are used. SQLite only supports `SERIALIZABLE`
* and `READ UNCOMMITTED`.
*
* @link http://www.sqlite.org/pragma.html#pragma_read_uncommitted
* @link https://www.sqlite.org/pragma.html#pragma_read_uncommitted
*/
protected function setTransactionIsolationLevel(string $level): void
{
Expand Down