Я использую CakePHP v3.x, и я пытаюсь понять, как вставить некоторые записи через инструмент миграции. В документации перечислены только методы для изменения схемы. Нужно ли вручную вставлять записи с необработанным SQL?
Плагин Make CakePHP 3 – плагин для плагинов Phinx, поэтому добавление записей может быть выполнено с помощью метода up()
: –
public function up() { // Save records to the newly created schema } public function down() { // Remove records }
Например, вы можете добавить нового пользователя с помощью TableRegistry
up
: –
public function up() { // Save records to the newly created schema $UsersTable = TableRegistry::get('Users'); $user = $UsersTable->newEntity(); $user->name = 'Joe Bloggs'; $user->email = 'joe@example.com'; $UsersTable->save($user); }
Если вы используете TableRegistry
, не забудьте включить use Cake\ORM\TableRegistry;
в верхней части файла миграции.
Для плагина Make CakeDC вы можете вставлять записи, используя обратные вызовы в соответствующем файле миграции:
public function after($direction) { if ($direction === 'up') { // Save records to the newly created schema } elseif ($direction === 'down') { // Remove records } }
ПРИМЕЧАНИЕ. Если вы используете драйвер Postgres, в настоящее время существует ошибка, которая требует небольшого обходного пути для выполнения этой работы.