Что-то вышло у меня из головы после того, как я прочитал ваш вопрос.
- Если у вас нет живой базы данных, возможно, есть две причины: у вас может быть промежуточная база данных или у вашего приложения нет базы данных.
- Согласно вашему второму вопросу, связанному с Если у меня есть одна БД , я бы сказал Нет. Потому что вы могли бы иметь два соединения.
например
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'root',
'database' => 'foge',
'prefix' => '',
'encoding' => 'utf8mb4',
);
public $test = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'root',
'database' => 'test_foge',
'prefix' => '',
'encoding' => 'utf8mb4',
);
При создании прибора вы в основном определите две вещи: как создается таблица (какие поля являются частью таблицы) и какие записи будут изначально заполнены в таблице.
Я думаю, вы можете заполнить свой сценарий этим. Потому что это команда mysql. Но, честно говоря, я не пробовал раньше.
mysql -u jenkins -pcakephp_jenkins -e 'DROP DATABASE IF EXISTS test_foge; CREATE DATABASE test_foge; CREATE TABLE users; CREATE Table posts';
И последнее, что вы можете заполнить данные, прежде чем запускать их, и я думаю, вы уже знали это.
class ArticleFixture extends CakeTestFixture {
public $fields = array(
'id' => array('type' => 'integer', 'key' => 'primary'),
'title' => array('type' => 'string', 'length' => 255, 'null' => false),
'body' => 'text',
'published' => array('type' => 'integer', 'default' => '0', 'null' => false),
'created' => 'datetime',
'updated' => 'datetime'
);
public function init() {
$this->records = array(
array(
'id' => 1,
'title' => 'First Article',
'body' => 'First Article Body',
'published' => '1',
'created' => date('Y-m-d H:i:s'),
'updated' => date('Y-m-d H:i:s'),
),
);
parent::init();
}
}
Как моя личная точка зрения,Хорошая идея - удалять и заново создавать базу данных перед каждой сборкой. Это защищает вас от цепных сбоев, когда одна сломанная сборка приводит к сбою других.