@@ -108,6 +108,9 @@ User::table()
108108 $query->where("id", "1");
109109 })
110110
111+ // PHP 7.4+
112+ ->or(fn ($query) => $query->where("id", "1") )
113+
111114 // Nesting
112115 ->or(function($query){
113116 $query->or(function($query){
@@ -126,4 +129,82 @@ User::table()
126129 // Offset (requires a limit to be set)
127130 ->offset(0)
128131 ->all();
132+
133+
134+ User::table()->each(function(User $entry){
135+ echo $entry->name."\n";
136+ });
137+
138+ ```
139+
140+ ## Migration
141+ ``` php
142+ (new Migrator("main"))
143+ ->setLogging(true)
144+ ->fromFolder("resources/migrations")
145+ ->up();
146+
147+ (new Migrator("main"))
148+ ->setLogging(true)
149+ ->fromFolder("resources/migrations")
150+ ->down(/*default val: 1*/);
151+ ```
152+
153+ #### resources/migrations/migration_22_0_11_create_users.php
154+ ``` php
155+ <?php
156+ namespace testinglocal\migrations;
157+
158+ use de\interaapps\ulole\orm\Database;
159+ use de\interaapps\ulole\orm\migration\Blueprint;
160+ use de\interaapps\ulole\orm\migration\Migration;
161+
162+ /**
163+ * CHANGED:
164+ */
165+ class migration_22_0_11_create_users implements Migration {
166+ public function up(Database $database) {
167+ return $database->create("users", function (Blueprint $blueprint) {
168+ $blueprint->id();
169+ $blueprint->string("name");
170+ $blueprint->string("password");
171+ $blueprint->string("description");
172+ $blueprint->enum("gender", ["FEMALE", "MALE", "OTHER", "DO_NOT_ANSWER"])->default('DO_NOT_ANSWER');
173+ $blueprint->timestamp("created")->currentTimestamp();
174+ });
175+ }
176+
177+ public function down(Database $database) {
178+ return $database->drop("users");
179+ }
180+ }
129181```
182+
183+ #### resources/migrations/migration_22_0_13_edit_users.php
184+ ``` php
185+ <?php
186+ namespace testinglocal\migrations;
187+
188+ use de\interaapps\ulole\orm\Database;
189+ use de\interaapps\ulole\orm\migration\Blueprint;
190+ use de\interaapps\ulole\orm\migration\Migration;
191+
192+ /**
193+ * CHANGED:
194+ */
195+ class migration_22_0_13_edit_users implements Migration {
196+ public function up(Database $database) {
197+ return $database->edit("users", function (Blueprint $blueprint) {
198+ $blueprint->string("name")->default("Johnson");
199+ $blueprint->string("mail");
200+ });
201+ }
202+
203+ public function down(Database $database) {
204+ return $database->edit("users", function(Blueprint $blueprint){
205+ $blueprint->string("name")->nullable()->default(null);
206+ $blueprint->string("mail")->drop();
207+ });
208+ }
209+ }
210+ ```
0 commit comments