mirror of
https://github.com/yiisoft/yii2-app-advanced.git
synced 2026-02-20 01:21:23 +01:00
This commit is contained in:
@@ -36,7 +36,7 @@ Después de instalar la aplicación, tienes que realizar los siguientes pasos pa
|
||||
Por otra parte, en producción ejecuta `init` con el modo no interactivo.
|
||||
|
||||
```
|
||||
php /path/to/yii-application/init --env=Production --overwrite=All
|
||||
php /path/to/yii-application/init --env=Production --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. Crea una nueva base de datos y ajusta la configuración de `components['db']` en `common/config/main-local.php` como corresponde.
|
||||
|
||||
@@ -37,7 +37,7 @@ Après que vous avez installé l'application, vous devez accomplir les étapes s
|
||||
Si vous l'automatisez à l'aide d'un script, vous pouvez exécuter `init` en mode non interactif.
|
||||
|
||||
```
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. Créez une nouvelle base de données et complétez la configuration de `components['db']` dans `common/config/main-local.php` en conséquence.
|
||||
|
||||
@@ -41,7 +41,7 @@ Bower と NPM の依存パッケージを Composer によって管理するた
|
||||
スクリプトで自動化する場合は、非対話モードで `init` を実行します。
|
||||
|
||||
```
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Development --overwrite=All
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Development --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. 新しいデータベースを作成し、それに従って `/path/to/yii-application/common/config/main-local.php` の `components['db']` の構成情報を修正します。
|
||||
|
||||
@@ -39,7 +39,7 @@ zrobić raz na każdym nowym środowisku.
|
||||
W przypadku zautomatyzowanego procesu z użyciem skryptu, możesz uruchomić `init` w trybie nieinteraktywnym.
|
||||
|
||||
```
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. Stwórz nową bazę danych i zmodyfikuj odpowiednio jej dane w kluczu `components['db']` w pliku `common/config/main-local.php`.
|
||||
|
||||
@@ -39,7 +39,7 @@ para inicializar a aplicação, sendo necessário realizá-los apenas uma vez no
|
||||
Caso queria realizar a automação do processo por meio de um script, você pode executar o comando `init` em modo não interativo.
|
||||
|
||||
```
|
||||
/caminho/para/binario-php/php /caminho/para/aplicacao-yii/init --env=Production --overwrite=All
|
||||
/caminho/para/binario-php/php /caminho/para/aplicacao-yii/init --env=Production --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. Crie um novo banco de dados e ajuste a configuração `components['db']` em `common/config/main-local.php` adequadamente.
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
如果使用脚本自动化,可以在非交互模式下执行 `init` 。
|
||||
|
||||
```
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. 创建一个新的数据库,并相应地调整 `common/config/main-local.php` 中的 `components['db']` 配置。
|
||||
|
||||
@@ -41,7 +41,7 @@ the installed application. You only need to do these once for all.
|
||||
If you automate it with a script you can execute `init` in non-interactive mode.
|
||||
|
||||
```
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Development --overwrite=All
|
||||
/path/to/php-bin/php /path/to/yii-application/init --env=Development --overwrite=All --delete=All
|
||||
```
|
||||
|
||||
2. Create a new database and adjust the `components['db']` configuration in `/path/to/yii-application/common/config/main-local.php` accordingly.
|
||||
|
||||
56
init
56
init
@@ -78,6 +78,30 @@ foreach ($files as $file) {
|
||||
}
|
||||
}
|
||||
|
||||
$filesToRemove = [];
|
||||
$skipFiles = !empty($env['skipFiles']) ? $env['skipFiles'] : [];
|
||||
foreach(array_column($envs, 'path') as $envPath) {
|
||||
if ($env['path'] === $envPath) continue;
|
||||
|
||||
$filesToRemove =
|
||||
array_merge(
|
||||
$filesToRemove,
|
||||
array_diff(getFileList("$root/environments/{$envPath}"), $files, $filesToRemove, $skipFiles)
|
||||
);
|
||||
}
|
||||
$filesToRemove = array_filter($filesToRemove, 'file_exists');
|
||||
if ($filesToRemove) {
|
||||
echo "\n Remove files from other environments ...\n\n";
|
||||
|
||||
$all = false;
|
||||
foreach ($filesToRemove as $file) {
|
||||
if (!removeFile($root, $file, $all, $params)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
|
||||
$callbacks = ['setCookieValidationKey', 'setWritable', 'setExecutable', 'createSymlink'];
|
||||
foreach ($callbacks as $callback) {
|
||||
if (!empty($env[$callback])) {
|
||||
@@ -151,6 +175,38 @@ function copyFile($root, $source, $target, &$all, $params)
|
||||
return true;
|
||||
}
|
||||
|
||||
function removeFile($root, $target, &$all, $params)
|
||||
{
|
||||
if (is_file($root . '/' . $target)) {
|
||||
if ($all) {
|
||||
echo " delete $target\n";
|
||||
} else {
|
||||
echo " delete $target\n";
|
||||
echo " ...confirm? [Yes|No|All|Quit] ";
|
||||
|
||||
$answer = !empty($params['delete']) ? $params['delete'] : trim(fgets(STDIN));
|
||||
if (!strncasecmp($answer, 'q', 1)) {
|
||||
return false;
|
||||
} else {
|
||||
if (!strncasecmp($answer, 'y', 1)) {
|
||||
echo " delete $target\n";
|
||||
} else {
|
||||
if (!strncasecmp($answer, 'a', 1)) {
|
||||
echo " delete $target\n";
|
||||
$all = true;
|
||||
} else {
|
||||
echo " skip $target\n";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return unlink($root . '/' . $target);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function getParams()
|
||||
{
|
||||
$rawParams = [];
|
||||
|
||||
Reference in New Issue
Block a user