
☕ CunningFox
16.06.2017
21:08:07
может быть

darkwoolf
16.06.2017
21:08:21

☕ CunningFox
16.06.2017
21:08:27
не может быть

darkwoolf
16.06.2017
21:08:48
просмотри репу плиз

Google

☕ CunningFox
16.06.2017
21:08:50
если ты убрал из инзерта auth_key то и ругаться он на него не будет

darkwoolf
16.06.2017
21:09:16

☕ CunningFox
16.06.2017
21:09:17
запусти php yii migrate

darkwoolf
16.06.2017
21:10:19

☕ CunningFox
16.06.2017
21:10:50
окей, значит будем править таблицу

darkwoolf
16.06.2017
21:11:49

☕ CunningFox
16.06.2017
21:12:09
try {
$this->dropTable('{{%user}}');
} catch (Exception $ignore) {};
$this->createTable('{{%user}}', [
'id' => Schema::TYPE_PK,
'name' => Schema::TYPE_STRING . ' NOT NULL',
'email' => Schema::TYPE_STRING . ' NOT NULL',
'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL',
'password_hash' => Schema::TYPE_STRING . ' NOT NULL',
'password_reset_token' => Schema::TYPE_STRING,
'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10',
], $tableOptions);
а потом insert с auth_key

darkwoolf
16.06.2017
21:13:04
и как мне тестить исключение в данном случае?


☕ CunningFox
16.06.2017
21:13:54
public function up()
{
if ($this->db->driverName === 'mysql') {
// http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
}
try {
$this->dropTable('{{%user}}');
} catch (\Exception $ignore) {};
$this->createTable('{{%user}}', [
'id' => Schema::TYPE_PK,
'name' => Schema::TYPE_STRING . ' NOT NULL',
'email' => Schema::TYPE_STRING . ' NOT NULL',
'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL',
'password_hash' => Schema::TYPE_STRING . ' NOT NULL',
'password_reset_token' => Schema::TYPE_STRING,
'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10',
], $tableOptions);
$this->insert('{{%user}}', [
'id' => 1,
'login' => 'admin',
'email' => 'admin@example.com',
'auth_key' => Yii::$app->security->generateRandomString(),
'password_hash' => Yii::$app->security->generatePasswordHash('admin'),
]);
}


darkwoolf
16.06.2017
21:14:37
и запускать миграцию?

Google

☕ CunningFox
16.06.2017
21:14:44
php yii migrate

darkwoolf
16.06.2017
21:15:32
https://gist.github.com/darkwoolf10/153d3062b287d9929a056bd371c8c6ba

☕ CunningFox
16.06.2017
21:16:14
?
Старый синтаксис
use yii\db\Schema;
добавь перед объявлением класса
<?php
use yii\db\Schema;
use yii\db\Migration;
class m130524_201442_init extends Migration
в подобном духе

darkwoolf
16.06.2017
21:18:05
https://gist.github.com/darkwoolf10/e1706342d6c4e2d63b3305724f6a4bfd

☕ CunningFox
16.06.2017
21:20:51
ладно, снеси руками таблицу tbl_user
может там fk какой

darkwoolf
16.06.2017
21:22:33
mysql> use TABLES
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> DROP TABLE 'tbl_user'
-> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tbl_user'' at line 1
ааа
в этом терминале фигово видно
скинул увидел
mysql> DROP TABLE tbl_user;
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

☕ CunningFox
16.06.2017
21:23:35
ну я так и подумал
ничего же нужного нет? тогда сноси со всем что есть

darkwoolf
16.06.2017
21:24:05
нет
базу то есть?

Google

☕ CunningFox
16.06.2017
21:24:40
как вариат, создай вторую базу и с ней работай
поправишь db.php только

darkwoolf
16.06.2017
21:24:54
https://sllite.ru/2014/10/yii2-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b1%d0%bb%d0%be%d0%b3%d0%b0-%d1%87%d0%b0%d1%81%d1%82%d1%8c-2-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8/
Я от сюда брал базу данных

☕ CunningFox
16.06.2017
21:25:25
ну я догадался что откуда-то))
давай лучше степ-бай-степ
и не отходить от того что есть в офф гайдах, проще гуглить потом будет)

darkwoolf
16.06.2017
21:26:02
Я сам потом буду этим занимать
просто это дипломка друга

☕ CunningFox
16.06.2017
21:26:50
ну, как вариант есть офф гайды
можешь пошагово сделать блог

darkwoolf
16.06.2017
21:26:58
То есть оно не будет работать если я еще раз добавлю эти три таблицы

darkwoolf
16.06.2017
21:27:01
?

☕ CunningFox
16.06.2017
21:27:34
у тебя юзер таблица не удаляется потому что связана с другой

darkwoolf
16.06.2017
21:28:11
а можешь еще посмотреть одну фигню

☕ CunningFox
16.06.2017
21:28:28
либо проверку ключа отключить, либо в таблицу к которой привязано добавить CASCADE на DELETE/UPDATE
м?

darkwoolf
16.06.2017
21:29:07
https://github.com/darkwoolf10/new_yii_project
Опять же типо делал по гайду

Google

darkwoolf
16.06.2017
21:30:37
по идее должно выводить формы
CRUD

☕ CunningFox
16.06.2017
21:30:50
https://habrahabr.ru/post/324300/
попробуй отсюда начать

darkwoolf
16.06.2017
21:30:56
но увы нифига
Еще не видел таких новых гайдов когда гуглил)

☕ CunningFox
16.06.2017
21:31:39
gii работает и нужен ?

darkwoolf
16.06.2017
21:32:09
Но там видишь, она не полная(статья)
там только первая часть

Admin
ERROR: S client not available

☕ CunningFox
16.06.2017
21:32:56
ну заминусовали, потому что все это есть в офф доках

darkwoolf
16.06.2017
21:33:06
https://www.youtube.com/watch?v=0J4YFmFQlLE&t=1s

☕ CunningFox
16.06.2017
21:33:12
http://www.yiiframework.com/doc-2.0/guide-README.html

darkwoolf
16.06.2017
21:33:13
видел вот по которому делал
вообще изи вроде

☕ CunningFox
16.06.2017
21:33:28
Изи, читай доки )

darkwoolf
16.06.2017
21:33:29
без ошибок каких-то получилось

☕ CunningFox
16.06.2017
21:34:13
так там ничего сложного

Google

☕ CunningFox
16.06.2017
21:34:39
а минималка из коробки есть)

darkwoolf
16.06.2017
21:35:21
хотя там пару движений по сути

Павел
17.06.2017
05:56:09

Jakhongir
17.06.2017
06:57:05
Здравствуйте, можете в кое-в-чем подсказать, нужно выбирать период календарем (DatePicker - 2 поля начало,конец или DateRangePicker), период целое количество недель, то есть например, нельзя выбирать даты так, чтобы период получался 8 дней или 5, только так чтобы было кратно 7. Как это можно сделать? есть ли какие-то настройки у datepicker?

Konstantin
17.06.2017
07:53:47
Делать свой пикер

SiZE
17.06.2017
08:00:17
Там можно на js проверку написать я думаю
В зависимости от выбранной даты оставлять нужные даты для выбора

Alexander
17.06.2017
08:02:38
Либо не мучать людей и дать выбирать номер недели. Если в этой области знаний оперируют неделями, то и номер им должен быть известен

Konstantin
17.06.2017
08:11:06
Задача слишком уникальная
Слишком частная
Либо ты делаешь на том что есть либо пилить свой механизм)))

Алимжан
17.06.2017
09:13:14
Вопрос таков: кто как пишет тесты на валидацию форм? Т.е. на проверку все ли rules указаны правильно и ничего не забыто

Иван
17.06.2017
09:35:13
И как быть со сценариями
Отдельной моделью для формы как здесь
http://www.elisdn.ru/blog/71/seo-service-on-yii2-user-profile

Алимжан
17.06.2017
09:36:40

Иван
17.06.2017
10:24:00

Алимжан
17.06.2017
10:24:30

Иван
17.06.2017
10:28:03
Я про написание тестов.
Ааа, я в первом предложении пропустил слово тесты и думаю потом че ты про тесты спрашиваешь. Есть книжка по yii2 называется "разработка веб-приложений в yii 2". Там все про тесты написано. Я тестил как в книжке приёмочным тестом.

Алимжан
17.06.2017
10:28:38
Но пока у меня что-то вроде
public function testName()
{
$this->specify('Name is required', function() {
$this->form->name = null;
verify($this->form->validate(['name']))->false();
});
$this->specify('Name length is > 3', function() {
$this->form->name = '12';
verify($this->form->validate(['name']))->false();
});
$this->specify('Name length is < 255', function() {
$this->form->name = $this->tester->getFaker()->text(1000);
verify($this->form->validate(['name']))->false();
});
$this->specify('Name is ok', function() {
$this->form->name = $this->tester->getFaker()->text;
verify($this->form->validate(['name']))->true();
});
}
Это лучшее, что я смог придумать