@@ -16,46 +16,58 @@ class Migrator
1616 * @var array
1717 */
1818 private $ migrations = [
19+ 'CREATE TABLE IF NOT EXISTS environments ( ' .
20+ 'id INTEGER PRIMARY KEY, ' .
21+ 'name TEXT NOT NULL ' .
22+ ') ' ,
23+
1924 'CREATE TABLE IF NOT EXISTS content_types ( ' .
20- 'id INTEGER PRIMARY KEY, ' .
21- 'name TEXT NOT NULL, ' .
22- 'path TEXT NOT NULL, ' .
23- 'template TEXT NOT NULL, ' .
24- 'permalink TEXT NOT NULL, ' .
25- 'enabled INTEGER NOT NULL DEFAULT 0 ' .
25+ 'id INTEGER PRIMARY KEY, ' .
26+ 'environment_id INTEGER NOT NULL, ' .
27+ 'name TEXT NOT NULL, ' .
28+ 'path TEXT NOT NULL, ' .
29+ 'template TEXT NOT NULL, ' .
30+ 'permalink TEXT NOT NULL, ' .
31+ 'enabled INTEGER NOT NULL DEFAULT 0 ' .
2632 ') ' ,
33+
2734 'CREATE TABLE IF NOT EXISTS files ( ' .
28- 'id INTEGER PRIMARY KEY, ' .
29- 'uid TEXT NOT NULL ' .
35+ 'id INTEGER PRIMARY KEY, ' .
36+ 'environment_id INTEGER NOT NULL, ' .
37+ 'uid TEXT NOT NULL ' .
3038 ') ' ,
39+
3140 'CREATE TABLE IF NOT EXISTS taxonomies ( ' .
32- 'id INTEGER PRIMARY KEY, ' .
33- 'name TEXT NOT NULL ' .
41+ 'id INTEGER PRIMARY KEY, ' .
42+ 'name TEXT NOT NULL ' .
3443 ') ' ,
44+
3545 'CREATE TABLE IF NOT EXISTS content_type_taxonomies ( ' .
36- 'id INTEGER PRIMARY KEY, ' .
37- 'content_type_id INTEGER NOT NULL, ' .
38- 'taxonomy_id INTEGER NOT NULL, ' .
39- 'FOREIGN KEY (content_type_id) ' .
40- 'REFERENCES content_types(content_type_id) ON UPDATE CASCADE ON DELETE CASCADE, ' .
41- 'FOREIGN KEY (taxonomy_id) ' .
42- 'REFERENCES taxonomies(taxonomy_id) ON UPDATE CASCADE ON DELETE CASCADE ' .
46+ 'id INTEGER PRIMARY KEY, ' .
47+ 'content_type_id INTEGER NOT NULL, ' .
48+ 'taxonomy_id INTEGER NOT NULL, ' .
49+ 'FOREIGN KEY (content_type_id) ' .
50+ 'REFERENCES content_types(content_type_id) ON UPDATE CASCADE ON DELETE CASCADE, ' .
51+ 'FOREIGN KEY (taxonomy_id) ' .
52+ 'REFERENCES taxonomies(taxonomy_id) ON UPDATE CASCADE ON DELETE CASCADE ' .
4353 ') ' ,
54+
4455 'CREATE TABLE IF NOT EXISTS taxonomy_classifications ( ' .
45- 'id INTEGER PRIMARY KEY, ' .
46- 'taxonomy_id INTEGER NOT NULL, ' .
47- 'name TEXT NOT NULL, ' .
48- 'FOREIGN KEY (taxonomy_id) ' .
49- 'REFERENCES taxonomies(taxonomy_id) ON UPDATE CASCADE ON DELETE CASCADE ' .
56+ 'id INTEGER PRIMARY KEY, ' .
57+ 'taxonomy_id INTEGER NOT NULL, ' .
58+ 'name TEXT NOT NULL, ' .
59+ 'FOREIGN KEY (taxonomy_id) ' .
60+ 'REFERENCES taxonomies(taxonomy_id) ON UPDATE CASCADE ON DELETE CASCADE ' .
5061 ') ' ,
62+
5163 'CREATE TABLE IF NOT EXISTS taxonomy_classification_file ( ' .
52- 'id INTEGER PRIMARY KEY, ' .
53- 'taxonomy_classification_id INTEGER NOT NULL, ' .
54- 'file_id INTEGER NOT NULL, ' .
55- 'FOREIGN KEY (taxonomy_classification_id) ' .
56- 'REFERENCES taxonomy_classifications(taxonomy_classification_id) ON UPDATE CASCADE ON DELETE CASCADE, ' .
57- 'FOREIGN KEY (file_id) ' .
58- 'REFERENCES files(file_id) ON UPDATE CASCADE ON DELETE CASCADE ' .
64+ 'id INTEGER PRIMARY KEY, ' .
65+ 'taxonomy_classification_id INTEGER NOT NULL, ' .
66+ 'file_id INTEGER NOT NULL, ' .
67+ 'FOREIGN KEY (taxonomy_classification_id) ' .
68+ 'REFERENCES taxonomy_classifications(taxonomy_classification_id) ON UPDATE CASCADE ON DELETE CASCADE, ' .
69+ 'FOREIGN KEY (file_id) ' .
70+ 'REFERENCES files(file_id) ON UPDATE CASCADE ON DELETE CASCADE ' .
5971 ') ' ,
6072 ];
6173
@@ -69,6 +81,11 @@ public function __construct(Connection $connection)
6981 $ this ->connection = $ connection ;
7082 }
7183
84+ public function tables ()
85+ {
86+ return count ($ this ->migrations );
87+ }
88+
7289 public function migrate ()
7390 {
7491 foreach ($ this ->migrations as $ migration ) {
0 commit comments