# Class yii\test\InitDbFixture

Inheritance | yii\test\InitDbFixture » yii\test\DbFixture » yii\test\Fixture » yii\base\Component » yii\base\BaseObject
Implements | yii\base\Configurable
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/test/InitDbFixture.php

InitDbFixture represents the initial state needed for DB-related tests.

Its main task is to toggle integrity check of the database during data loading. This is needed by other DB-related fixtures (e.g. yii\test\ActiveFixture) so that they can populate data into the database without triggering integrity check errors.

Besides, DbFixture also attempts to load an initialization script if it exists.

You should normally use InitDbFixture to prepare a skeleton test database. Other DB fixtures will then add specific tables and data to this database.

For more details and usage information on InitDbFixture, see the guide article on fixtures.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component
$db | yii\db\Connection|array|string | The DB connection object or the application component ID of the DB connection. | yii\test\DbFixture
$depends | array | The fixtures that this fixture depends on. | yii\test\Fixture
$initScript | string | The init script file that should be executed when loading this fixture. | yii\test\InitDbFixture
$schemas | array | List of database schemas that the test tables may reside in. | yii\test\InitDbFixture

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\Component
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of a component property. | yii\base\Component
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component
__set() | Sets the value of a component property. | yii\base\Component
__unset() | Sets a component property to be null. | yii\base\Component
afterLoad() | This method is called AFTER all fixture data have been loaded for the current test. | yii\test\InitDbFixture
afterUnload() | This method is called AFTER all fixture data have been unloaded for the current test. | yii\test\InitDbFixture
attachBehavior() | Attaches a behavior to this component. | yii\base\Component
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component
beforeLoad() | This method is called BEFORE any fixture data is loaded for the current test. | yii\test\InitDbFixture
beforeUnload() | This method is called BEFORE any fixture data is unloaded for the current test. | yii\test\InitDbFixture
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component
checkIntegrity() | Toggles the DB integrity check. | yii\test\InitDbFixture
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
detachBehavior() | Detaches a behavior from the component. | yii\base\Component
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component
getBehavior() | Returns the named behavior object. | yii\base\Component
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component
init() | Initializes the object. | yii\test\DbFixture
load() | Loads the fixture. | yii\test\InitDbFixture
off() | Detaches an existing event handler from this component. | yii\base\Component
on() | Attaches an event handler to an event. | yii\base\Component
trigger() | Triggers an event. | yii\base\Component
unload() | Unloads the fixture. | yii\test\Fixture

## Property Details

$initScript public property

The init script file that should be executed when loading this fixture. This should be either a file path or path alias. Note that if the file does not exist, no error will be raised.

public string $initScript = '@app/tests/fixtures/initdb.php'
$schemas public property

List of database schemas that the test tables may reside in. Defaults to `['']`, meaning using the default schema (an empty string refers to the default schema). This property is mainly used when turning on and off integrity checks so that fixture data can be populated into the database without causing problem.

public array $schemas = ['']

## Method Details

afterLoad() public method

This method is called AFTER all fixture data have been loaded for the current test.

public void afterLoad ( )

afterUnload() public method

This method is called AFTER all fixture data have been unloaded for the current test.

public void afterUnload ( )

beforeLoad() public method

This method is called BEFORE any fixture data is loaded for the current test.

public void beforeLoad ( )

beforeUnload() public method

This method is called BEFORE any fixture data is unloaded for the current test.

public void beforeUnload ( )

checkIntegrity() public method

Toggles the DB integrity check.

public void checkIntegrity ( $check )
$check | boolean | Whether to turn on or off the integrity check.

load() public method

Loads the fixture.

This method is called before performing every test method. You should override this method with concrete implementation about how to set up the fixture.

public void load ( )