Yii2 Starter Kit - шаблон для старта приложения

Выкладываем свои наработки
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение german.igortcev »

А так же действуя по мануалц решил переключить локализацию на хранение в базе и получил ошибку при миграции .

Код: Выделить всё

 php yii message/migrate @common/config/messages/php.php @common/config/messages/db.php
All existing messages in the output source will be removed. Proceed? (yes|no) [no]:y
Language: uk
Category: backend
[=>                                                                                                                                                          ] 0% (1/128) ETA: 0 sec.Exception 'yii\db\IntegrityException' with message 'SQLSTATE[23503]: Foreign key violation: 7 ERROR:  insert or update on table "i18n_message" violates foreign key constraint "fk_i18n_message_source_message"
DETAIL:  Key (id)=(0) is not present in table "i18n_source_message".
The SQL being executed was: INSERT INTO "i18n_message" ("id", "language", "translation") VALUES (0, 'uk', 'Вы впевнені, що бажаете скинути цей кеш?')'

Error Info:
Array
(
    [0] => 23503
    [1] => 7
    [2] => ERROR:  insert or update on table "i18n_message" violates foreign key constraint "fk_i18n_message_source_message"
DETAIL:  Key (id)=(0) is not present in table "i18n_source_message".
)

lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение lynicidn »

автоинкремента нет чтоли?
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN »

german.igortcev писал(а):А так же действуя по мануалц решил переключить локализацию на хранение в базе и получил ошибку при миграции .

Код: Выделить всё

 php yii message/migrate @common/config/messages/php.php @common/config/messages/db.php
All existing messages in the output source will be removed. Proceed? (yes|no) [no]:y
Language: uk
Category: backend
[=>                                                                                                                                                          ] 0% (1/128) ETA: 0 sec.Exception 'yii\db\IntegrityException' with message 'SQLSTATE[23503]: Foreign key violation: 7 ERROR:  insert or update on table "i18n_message" violates foreign key constraint "fk_i18n_message_source_message"
DETAIL:  Key (id)=(0) is not present in table "i18n_source_message".
The SQL being executed was: INSERT INTO "i18n_message" ("id", "language", "translation") VALUES (0, 'uk', 'Вы впевнені, що бажаете скинути цей кеш?')'

Error Info:
Array
(
    [0] => 23503
    [1] => 7
    [2] => ERROR:  insert or update on table "i18n_message" violates foreign key constraint "fk_i18n_message_source_message"
DETAIL:  Key (id)=(0) is not present in table "i18n_source_message".
)

Почему-то $db->getLastInsertID() вернул у вас 0. Какая у вас база? автоинкримент i18n_source_message.id стоит? Хоть что-то в эти таблички записалось?
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN »

german.igortcev писал(а):Вообще молодец, очень понравились разделы кэш, информация о системе, журнал событий и события системы)

Еще бы обертку под RBAC ))

И на заметку http://www.yiiframework.ru/forum/viewto ... 85#p130585
Видел уже flysystem, хорошо что не пришлось самому делать :) Буду теперь в file-kit интегрировать, хотя там по дороге надо концептуально все расширение изменить...

А по RBAC да, надо, но это отдельная достаточно трудоемкая тема, хотя пока нет адекватного расширения, думал добавить базовый функционал. Думаю когда буду выкидывать defaultRoles, набросаю что-то очень простенькое.
g.igortcev
Сообщения: 3
Зарегистрирован: 2014.03.23, 13:16

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение g.igortcev »

По поводу RBAC было вполне удобное решение право для первой версии, вечером пришлю ссылку .

Я использую postgres как бд
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение german.igortcev »

ZeiN писал(а):
german.igortcev писал(а):А так же действуя по мануалц решил переключить локализацию на хранение в базе и получил ошибку при миграции .

Код: Выделить всё

 php yii message/migrate @common/config/messages/php.php @common/config/messages/db.php
All existing messages in the output source will be removed. Proceed? (yes|no) [no]:y
Language: uk
Category: backend
[=>                                                                                                                                                          ] 0% (1/128) ETA: 0 sec.Exception 'yii\db\IntegrityException' with message 'SQLSTATE[23503]: Foreign key violation: 7 ERROR:  insert or update on table "i18n_message" violates foreign key constraint "fk_i18n_message_source_message"
DETAIL:  Key (id)=(0) is not present in table "i18n_source_message".
The SQL being executed was: INSERT INTO "i18n_message" ("id", "language", "translation") VALUES (0, 'uk', 'Вы впевнені, що бажаете скинути цей кеш?')'

Error Info:
Array
(
    [0] => 23503
    [1] => 7
    [2] => ERROR:  insert or update on table "i18n_message" violates foreign key constraint "fk_i18n_message_source_message"
DETAIL:  Key (id)=(0) is not present in table "i18n_source_message".
)

 
Почему-то $db->getLastInsertID() вернул у вас 0. Какая у вас база? автоинкримент i18n_source_message.id стоит? Хоть что-то в эти таблички записалось?
База postgress . Автоинкримент есть (nextval('i18n_source_message_id_seq'::regclass))
Записалось одно значение 3 backend Are you sure you want to flush this cache?
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN »

german.igortcev писал(а): База postgress . Автоинкримент есть (nextval('i18n_source_message_id_seq'::regclass))
Записалось одно значение 3 backend Are you sure you want to flush this cache?
https://github.com/trntv/yii2-starter-k ... b08c61d21f
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение german.igortcev »

ZeiN писал(а):
german.igortcev писал(а): База postgress . Автоинкримент есть (nextval('i18n_source_message_id_seq'::regclass))
Записалось одно значение 3 backend Are you sure you want to flush this cache?
https://github.com/trntv/yii2-starter-k ... b08c61d21f
Прошла миграция
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение german.igortcev »

Нашел баг при использовании постгресса.

SystemLog

В миграции

Код: Выделить всё

 'log_time' => Schema::TYPE_INTEGER . ' NOT NULL',
значение которое пишет в бд - 1422912540.7317

Ошибка

Код: Выделить всё

'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "1422912540.7317" The SQL being executed was: INSERT INTO "system_log" ("level", "category", "log_time", "prefix", "message") VALUES (4, 'yii\db\Connection::open', 1422912540.7317, '[app-backend][/log/index]', 'Opening DB connection: pgsql:host=localhost;dbname=development')'
Ну и по пути

Код: Выделить всё

Invalid Parameter – yii\base\InvalidParamException
'1422913619.5353' is not a valid date time value: Failed to parse '1422913619.5353' as a UNIX timestamp.
Array
(
[warning_count] => 0
[warnings] => Array
(
)

[error_count] => 1
[errors] => Array
(
[10] => Trailing data
)

)
↵
Caused by: Invalid Parameter – yii\base\InvalidParamException
Failed to parse '1422913619.5353' as a UNIX timestamp.

in /home/german/*********.localhost/vendor/yiisoft/yii2/i18n/Formatter.php at line 625
В постгрессе в тип int нельзя записать число с плавающей точкой, только целые числа.


Пытаюсь понять откуда такое время вообще приходит....хотя баг из за окружения....у меня смотрю везде время в -- 22:06:52.605
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN »

german.igortcev писал(а):Пытаюсь понять откуда такое время вообще приходит....
yii\log\Logger::137 - microtime(true)

https://github.com/trntv/yii2-starter-k ... 264e188873
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение german.igortcev »

Норм, для pgsql использую тип real для log_time

Я бы в key-storage добавил категорию для хранения.
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение german.igortcev »

Поясните затею.

Код: Выделить всё

/**
     * @return array
     */
    public function scenarios(){
        return ArrayHelper::merge(
            parent::scenarios(),
            [
                'oauth_create'=>[
                    'oauth_client', 'oauth_client_user_id', 'email', 'username', '!status', '!role'
                ]
            ]
        );
    }
 
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN »

german.igortcev писал(а):Поясните затею.

Код: Выделить всё

/**
     * @return array
     */
    public function scenarios(){
        return ArrayHelper::merge(
            parent::scenarios(),
            [
                'oauth_create'=>[
                    'oauth_client', 'oauth_client_user_id', 'email', 'username', '!status', '!role'
                ]
            ]
        );
    }
К сценарию default добавляется новый. Затея - чтобы не описывать вручную сценарий по умолчанию.
Erik
Сообщения: 80
Зарегистрирован: 2014.12.09, 14:40

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Erik »

Хочу в конфигурации 'as globalAccess' => [ 'class' => '\common\components\behaviors\GlobalAccessBehavior', разрешить вход только administrator и
manager. Попробовал [
'allow' => false,
'roles' => ['user'],
не помогло.
ZeiN
Сообщения: 180
Зарегистрирован: 2012.06.06, 13:59

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение ZeiN »

Erik писал(а):Хочу в конфигурации 'as globalAccess' => [ 'class' => '\common\components\behaviors\GlobalAccessBehavior', разрешить вход только administrator и
manager. Попробовал [
'allow' => false,
'roles' => ['user'],
не помогло.
В админке? Там и так все это есть.
В другом месте? Тогда надо сделать наоборот - разрешить вход администратору и менеджеру. Все что не разрешено явно - запрещено по умолчанию:

Код: Выделить всё

'allow' => true,
'roles' => ['manager'],
Bizonchik
Сообщения: 8
Зарегистрирован: 2013.12.12, 13:28

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Bizonchik »

Добрый день!
Выполняю устанавливаю сборку. Выполняю команду

Код: Выделить всё

php console/yii migrate
Получаю ответ

Код: Выделить всё

PHP Warning:  require(/корень сайта/yii2-starter-kit/console/../vendor /autoload.php): failed to open stream: No such file or directory in /корень сайта/yii2-starter-kit/console/yii on line 8
PHP Fatal error:  require(): Failed opening required '/корень сайта/yii2-starter-kit/console/../vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /корень сайта/yii2-starter-kit/console/yii on line 8
Смотрю файл console/yii

Код: Выделить всё

#!/usr/bin/env php
<?php
// fcgi doesn't have STDIN and STDOUT defined by default
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));
// Composer
require(__DIR__ . '/../vendor/autoload.php');
// Environment
require(__DIR__ . '/../common/env.php');
// Yii
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
// Bootstrap application
require(__DIR__ . '/../common/config/bootstrap.php');
require(__DIR__ . '/config/bootstrap.php');
$config = \yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/../common/config/base.php'),
    require(__DIR__ . '/../common/config/console.php'),
    require(__DIR__ . '/config/console.php')
);
$exitCode = (new yii\console\Application($config))->run();
exit($exitCode);
Понимаю, что папки /vendor в структуре папок у меня нет.
Как быть?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение zelenin »

Bizonchik писал(а):Добрый день!
Выполняю устанавливаю сборку. Выполняю команду

Код: Выделить всё

php console/yii migrate
Получаю ответ

Код: Выделить всё

PHP Warning:  require(/корень сайта/yii2-starter-kit/console/../vendor /autoload.php): failed to open stream: No such file or directory in /корень сайта/yii2-starter-kit/console/yii on line 8
PHP Fatal error:  require(): Failed opening required '/корень сайта/yii2-starter-kit/console/../vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /корень сайта/yii2-starter-kit/console/yii on line 8
Смотрю файл console/yii

Код: Выделить всё

#!/usr/bin/env php
<?php
// fcgi doesn't have STDIN and STDOUT defined by default
defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));
defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));
// Composer
require(__DIR__ . '/../vendor/autoload.php');
// Environment
require(__DIR__ . '/../common/env.php');
// Yii
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
// Bootstrap application
require(__DIR__ . '/../common/config/bootstrap.php');
require(__DIR__ . '/config/bootstrap.php');
$config = \yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/../common/config/base.php'),
    require(__DIR__ . '/../common/config/console.php'),
    require(__DIR__ . '/config/console.php')
);
$exitCode = (new yii\console\Application($config))->run();
exit($exitCode); 
Понимаю, что папки /vendor в структуре папок у меня нет.
Как быть?
читать инструкцию конечно!
Bizonchik
Сообщения: 8
Зарегистрирован: 2013.12.12, 13:28

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Bizonchik »

zelenin писал(а): читать инструкцию конечно!
Инструкцию принято читать, когда уже совсем ничего не помогает. Не смотря на это, старался делать все по шагам, как описано, так как я только начинаю изучать Yii2. Тем не менее, пришел к такому результату. Если не трудно, ткните носом в раздел инструкции, может, я таки что-то пропустил?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение zelenin »

Bizonchik писал(а): Инструкцию принято читать, когда уже совсем ничего не помогает.
надеюсь это шутка
Bizonchik писал(а):Не смотря на это, старался делать все по шагам, как описано, так как я только начинаю изучать Yii2. Тем не менее, пришел к такому результату.
ну судя по тому, что у вас нет vendor, composer'ом у вас не пахнет. А он в инструкции несколько раз.
Bizonchik
Сообщения: 8
Зарегистрирован: 2013.12.12, 13:28

Re: Yii2 Starter Kit - мой стартовый набор

Сообщение Bizonchik »

Конечно, шутка.
Загрузка Yii2 Starter Kit на сервер была выполнена командой

Код: Выделить всё

composer create-project --prefer-dist --stability=dev trntv/yii2-starter-kit
Ответить