]> git.andy128k.dev Git - ipf.git/commitdiff
legacy friendly migrations
authorAndrey Kutejko <andy128k@gmail.com>
Sun, 14 Sep 2014 09:44:28 +0000 (12:44 +0300)
committerAndrey Kutejko <andy128k@gmail.com>
Sun, 14 Sep 2014 09:44:28 +0000 (12:44 +0300)
ipf/admin/migrations/20140103000000_create_admin_log.php
ipf/auth/migrations/20140102000000_create_auth_tables.php
ipf/session/migrations/20140101000000_create_sessions.php

index 015a9f597e4d970adb9aac515a4ed03da3e34677..5c84c6ec8a5b0129bc5f22578ae1e5a0602e969c 100644 (file)
@@ -4,7 +4,7 @@ class Migration_20140103000000 extends \PFF\Migrations\Migration
 {
     function migrate()
     {
-        $this->connection->exec('CREATE TABLE admin_log (' .
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS admin_log (' .
             'id BIGINT AUTO_INCREMENT,' .
             'username     VARCHAR(32),' .
             'user_id      BIGINT,' .
index 5eb1394e9ff027fda071ba5d43ff401086e9331c..4b53bb229d082834c88c89162447d2b8fb034700 100644 (file)
@@ -4,20 +4,53 @@ class Migration_20140102000000 extends \PFF\Migrations\Migration
 {
     function migrate()
     {
-        $this->connection->exec('CREATE TABLE auth_user (id BIGINT AUTO_INCREMENT, username VARCHAR(32) NOT NULL UNIQUE, password VARCHAR(128) NOT NULL, email VARCHAR(200) NOT NULL UNIQUE, is_staff TINYINT(1) NOT NULL DEFAULT 0, is_active TINYINT(1) NOT NULL DEFAULT 0, is_superuser TINYINT(1) NOT NULL DEFAULT 0, last_login TIMESTAMP, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
-        $this->connection->exec('CREATE TABLE auth_role (id BIGINT AUTO_INCREMENT, name VARCHAR(255) UNIQUE, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
-        $this->connection->exec('CREATE TABLE auth_permission (id BIGINT AUTO_INCREMENT, name VARCHAR(255) NOT NULL UNIQUE, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS auth_user ('.
+            'id             BIGINT AUTO_INCREMENT,'.
+            'username       VARCHAR(32) NOT NULL UNIQUE,'.
+            'password       VARCHAR(128) NOT NULL,'.
+            'email          VARCHAR(200) NOT NULL UNIQUE,'.
+            'is_staff       TINYINT(1) NOT NULL DEFAULT 0,'.
+            'is_active      TINYINT(1) NOT NULL DEFAULT 0,'.
+            'is_superuser   TINYINT(1) NOT NULL DEFAULT 0,'.
+            'last_login     TIMESTAMP,'.
+            'PRIMARY KEY(id)'.
+            ') DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
 
-        $this->connection->exec('CREATE TABLE auth_user_permission (user_id BIGINT, permission_id BIGINT, PRIMARY KEY(user_id, permission_id)) ENGINE = INNODB');
-        $this->connection->exec('CREATE TABLE auth_user_role (user_id BIGINT, role_id BIGINT, PRIMARY KEY(user_id, role_id)) ENGINE = INNODB');
-        $this->connection->exec('CREATE TABLE auth_role_permission (role_id BIGINT, permission_id BIGINT, PRIMARY KEY(role_id, permission_id)) ENGINE = INNODB');
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS auth_role ('.
+            'id             BIGINT AUTO_INCREMENT,'.
+            'name           VARCHAR(255) UNIQUE,'.
+            'PRIMARY KEY(id)'.
+            ') DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
 
-        $this->connection->exec('ALTER TABLE auth_user_permission ADD FOREIGN KEY (user_id) REFERENCES auth_user(id) ON DELETE CASCADE');
-        $this->connection->exec('ALTER TABLE auth_user_permission ADD FOREIGN KEY (permission_id) REFERENCES auth_permission(id) ON DELETE CASCADE');
-        $this->connection->exec('ALTER TABLE auth_user_role ADD FOREIGN KEY (user_id) REFERENCES auth_user(id) ON DELETE CASCADE');
-        $this->connection->exec('ALTER TABLE auth_user_role ADD FOREIGN KEY (role_id) REFERENCES auth_role(id) ON DELETE CASCADE');
-        $this->connection->exec('ALTER TABLE auth_role_permission ADD FOREIGN KEY (role_id) REFERENCES auth_role(id) ON DELETE CASCADE');
-        $this->connection->exec('ALTER TABLE auth_role_permission ADD FOREIGN KEY (permission_id) REFERENCES auth_permission(id) ON DELETE CASCADE');
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS auth_permission ('.
+            'id             BIGINT AUTO_INCREMENT,'.
+            'name           VARCHAR(255) NOT NULL UNIQUE,'.
+            'PRIMARY KEY(id)'.
+            ') DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = INNODB');
+
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS auth_user_permission ('.
+            'user_id        BIGINT,'.
+            'permission_id  BIGINT,'.
+            'FOREIGN KEY(user_id)       REFERENCES auth_user(id)        ON DELETE CASCADE,'.
+            'FOREIGN KEY(permission_id) REFERENCES auth_permission(id)  ON DELETE CASCADE,'.
+            'PRIMARY KEY(user_id, permission_id)'.
+            ') ENGINE = INNODB');
+
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS auth_user_role ('.
+            'user_id        BIGINT,'.
+            'role_id        BIGINT,'.
+            'FOREIGN KEY(user_id) REFERENCES auth_user(id) ON DELETE CASCADE,'.
+            'FOREIGN KEY(role_id) REFERENCES auth_role(id) ON DELETE CASCADE,'.
+            'PRIMARY KEY(user_id, role_id)'.
+            ') ENGINE = INNODB');
+
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS auth_role_permission ('.
+            'role_id        BIGINT,'.
+            'permission_id  BIGINT,'.
+            'FOREIGN KEY(role_id)       REFERENCES auth_role(id)        ON DELETE CASCADE,'.
+            'FOREIGN KEY(permission_id) REFERENCES auth_permission(id)  ON DELETE CASCADE,'.
+            'PRIMARY KEY(role_id, permission_id)'.
+            ') ENGINE = INNODB');
     }
 }
 
index 9d59e5ca3ba1abc2471e9e4077098e193ea23c6e..3132625d9b158b7ea15ad366e0aee88f1108763d 100644 (file)
@@ -4,7 +4,7 @@ class Migration_20140101000000 extends \PFF\Migrations\Migration
 {
     function migrate()
     {
-        $this->connection->exec('CREATE TABLE session (session_key VARCHAR(40), data TEXT, updated_at TIMESTAMP, PRIMARY KEY(session_key)) ENGINE = INNODB');
+        $this->connection->exec('CREATE TABLE IF NOT EXISTS session (session_key VARCHAR(40), data TEXT, updated_at TIMESTAMP, PRIMARY KEY(session_key)) ENGINE = INNODB');
     }
 }