]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Run migration in test, ready for MySQL
authorJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 12 Dec 2016 10:01:54 +0000 (11:01 +0100)
committerJeremy Benoist <jeremy.benoist@gmail.com>
Mon, 19 Dec 2016 09:35:24 +0000 (10:35 +0100)
app/DoctrineMigrations/Version20161022134138.php
app/DoctrineMigrations/Version20161031132655.php
build.xml

index b3d02b407ace5c4b6bc5d732208d71e4208dec0c..3ac8cc5b4a520f94417b131bdbd7f5bd01f064e3 100644 (file)
@@ -33,6 +33,12 @@ class Version20161022134138 extends AbstractMigration implements ContainerAwareI
 
         $this->addSql('ALTER DATABASE '.$this->container->getParameter('database_name').' CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;');
 
+        // convert field length for utf8mb4
+        // http://stackoverflow.com/a/31474509/569101
+        $this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE confirmation_token confirmation_token VARCHAR(180) NOT NULL;');
+        $this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE salt salt VARCHAR(180) NOT NULL;');
+        $this->addSql('ALTER TABLE '.$this->getTable('user').' CHANGE password password VARCHAR(180) NOT NULL;');
+
         $this->addSql('ALTER TABLE '.$this->getTable('annotation').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
         $this->addSql('ALTER TABLE '.$this->getTable('entry').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
         $this->addSql('ALTER TABLE '.$this->getTable('tag').' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
index 770ad2d8e59792111cde48ad3051a71d1036f09b..f81898ff3c496ab3b1eeabd9f4a9ef74ba1c2bee 100644 (file)
@@ -36,7 +36,7 @@ class Version20161031132655 extends AbstractMigration implements ContainerAwareI
 
         $this->skipIf(false !== $images, 'It seems that you already played this migration.');
 
-        $this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('download_images_enabled', 0, 'misc')");
+        $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('download_images_enabled', 0, 'misc')");
     }
 
     /**
@@ -44,6 +44,6 @@ class Version20161031132655 extends AbstractMigration implements ContainerAwareI
      */
     public function down(Schema $schema)
     {
-        $this->addSql('DELETE FROM "'.$this->getTable('craue_config_setting')."\" WHERE name = 'download_images_enabled';");
+        $this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'download_images_enabled';");
     }
 }
index 37b40743ae6ac6f42f4f680837d2e0f7c17f6173..aae076e17e082b1366db67c2746ba520d0dc0380 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project name="wallabag" default="build">
     <target name="build" depends="clean,prepare,phpunit"/>
-    <target name="prepare-mysql" depends="clean,db_mysql,prepare"/>
-    <target name="prepare-sqlite" depends="clean,db_sqlite,prepare"/>
-    <target name="prepare-pgsql" depends="clean,db_pgsql,prepare"/>
+    <target name="prepare-mysql" depends="clean,prepare_mysql"/>
+    <target name="prepare-sqlite" depends="clean,prepare_sqlite"/>
+    <target name="prepare-pgsql" depends="clean,prepare_pgsql"/>
 
     <target name="clean" description="Cleanup build artifacts">
         <delete dir="${basedir}/var/cache"/>
             <arg value="doctrine:schema:create"/>
             <arg value="--env=test"/>
         </exec>
-        <exec executable="php">
-            <arg value="${basedir}/bin/console"/>
-            <arg value="cache:clear"/>
-            <arg value="--env=test"/>
-        </exec>
         <exec executable="php">
             <arg value="${basedir}/bin/console"/>
             <arg value="doctrine:fixtures:load"/>
             <arg value="${basedir}/app/config/tests/parameters_test.mysql.yml"/>
             <arg value="${basedir}/app/config/parameters_test.yml"/>
         </exec>
-
         <exec executable="php">
             <arg value="${basedir}/bin/console"/>
             <arg value="cache:clear"/>
             <arg value="--env=test"/>
         </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:drop"/>
+            <arg value="--force"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:create"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:import"/>
+            <arg value="data/sql/mysql_base.sql"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:migrations:migrate"/>
+            <arg value="--no-interaction"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:fixtures:load"/>
+            <arg value="--no-interaction"/>
+            <arg value="--env=test"/>
+        </exec>
     </target>
 
     <target name="db_sqlite" description="Run test for SQLite">
             <arg value="${basedir}/app/config/tests/parameters_test.sqlite.yml"/>
             <arg value="${basedir}/app/config/parameters_test.yml"/>
         </exec>
-
         <exec executable="php">
             <arg value="${basedir}/bin/console"/>
             <arg value="cache:clear"/>
             <arg value="--env=test"/>
         </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:drop"/>
+            <arg value="--force"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:create"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:import"/>
+            <arg value="data/sql/sqlite_base.sql"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:migrations:migrate"/>
+            <arg value="--no-interaction"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:fixtures:load"/>
+            <arg value="--no-interaction"/>
+            <arg value="--env=test"/>
+        </exec>
     </target>
 
     <target name="db_pgsql" description="Run test for PostgreSQL">
             <arg value="${basedir}/app/config/tests/parameters_test.pgsql.yml"/>
             <arg value="${basedir}/app/config/parameters_test.yml"/>
         </exec>
-
         <exec executable="php">
             <arg value="${basedir}/bin/console"/>
             <arg value="cache:clear"/>
             <arg value="--env=test"/>
         </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:drop"/>
+            <arg value="--force"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:create"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:database:import"/>
+            <arg value="data/sql/pgsql_base.sql"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:migrations:migrate"/>
+            <arg value="--no-interaction"/>
+            <arg value="--env=test"/>
+        </exec>
+        <exec executable="php">
+            <arg value="${basedir}/bin/console"/>
+            <arg value="doctrine:fixtures:load"/>
+            <arg value="--no-interaction"/>
+            <arg value="--env=test"/>
+        </exec>
     </target>
 
     <target name="phpunit" description="Run unit tests with PHPUnit + HTML Coverage">