forked from cakephp/phinx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
71 lines (69 loc) · 2.6 KB
/
appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
build: false
shallow_clone: false
platform: 'x86'
clone_folder: C:\projects\phinx
environment:
global:
PHP: "C:/PHP"
TESTS_PHINX_DB_ADAPTER_SQLSRV_ENABLED: true
TESTS_PHINX_DB_ADAPTER_SQLSRV_HOST: .\SQL2012SP1
TESTS_PHINX_DB_ADAPTER_SQLSRV_USERNAME: "sa"
TESTS_PHINX_DB_ADAPTER_SQLSRV_PASSWORD: "Password12!"
TESTS_PHINX_DB_ADAPTER_SQLSRV_DATABASE: "phinxtesting"
matrix:
- db: 2012
db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/phinxtesting?MultipleActiveResultSets=false'
services:
- mssql2012sp1
init:
- SET PATH=C:\php\;%PATH%
install:
- cd c:\
- ps: Start-FileDownload 'http://ci.cakephp.org/php.zip'
- 7z x php.zip -oc:\php
- cd c:\php
- copy php.ini-production php.ini
- echo date.timezone="UTC" >> php.ini
- echo extension_dir=ext >> php.ini
- echo extension=php_openssl.dll >> php.ini
- echo extension=php_sqlsrv.dll >> php.ini
- echo extension=php_pdo_sqlsrv.dll >> php.ini
- cd C:\projects\phinx
- php -r "readfile('https://getcomposer.org/installer');" | php
- php composer.phar install --prefer-dist --no-interaction --dev
before_test:
# This script solves the "Database 'model' is being recovered. Waiting until recovery is finished."
# This solution comes from https://gist.github.com/jonathanhickford/1cb0d6665adab8b9c664
# and is follow by http://help.appveyor.com/discussions/suggestions/264-database-mssqlsystemresource-is-being-recovered-waiting-for-sql-server-to-start
- ps: >-
$tries = 5;
$pause = 10; # Seconds to wait between tries
While ($tries -gt 0) {
try {
$ServerConnectionString = "Data Source=(local)\SQL2012SP1;Initial Catalog=master;User Id=sa;PWD=Password12!";
$ServerConnection = new-object system.data.SqlClient.SqlConnection($ServerConnectionString);
$query = "exec sp_configure 'clr enabled', 1;`n"
$query = $query + "RECONFIGURE;`n"
$cmd = new-object system.data.sqlclient.sqlcommand($query, $ServerConnection);
$ServerConnection.Open();
"Running:"
$query
if ($cmd.ExecuteNonQuery() -ne -1) {
"SQL Error";
} else {
"Success"
}
$ServerConnection.Close();
$tries = 0;
} catch {
"Error:"
$_.Exception.Message
"Retry in $pause seconds. Attempts left: $tries";
Start-Sleep -s $pause;
}
$tries = $tries -1;
}
test_script:
- sqlcmd -S ".\SQL2012SP1" -U sa -P Password12! -Q "create database %TESTS_PHINX_DB_ADAPTER_SQLSRV_DATABASE%;"
- cd C:\projects\phinx
- vendor\bin\phpunit.bat --no-configuration --bootstrap tests/phpunit-bootstrap.php tests/