Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 481 | Revision 486 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
233 lars 1
<?php
2
 
260 lars 3
    namespace App\Console\Commands;
233 lars 4
 
445 lars 5
    use App\Models\Address;
260 lars 6
    use App\Models\Directory;
7
    use App\Models\Item;
8
    use App\Models\Action;
272 lars 9
    use App\Models\Medium;
454 lars 10
    use App\Models\Order;
453 lars 11
    use App\Models\OrderAddress;
482 lars 12
    use App\Models\PaymentMethod;
263 lars 13
    use App\Models\Price;
260 lars 14
    use App\Models\ActionMedium;
15
    use App\Models\ItemMedium;
16
    use App\Models\DirectoryMedium;
465 lars 17
    use App\Models\Shop;
437 lars 18
    use App\Models\User;
260 lars 19
    use Illuminate\Console\Command;
20
    use Illuminate\Support\Facades\DB;
233 lars 21
 
260 lars 22
    class convertDB extends Command
23
    {
24
        /**
25
         * The name and signature of the console command.
26
         *
27
         * @var string
28
         */
29
        protected $signature = 'command:convertDB';
233 lars 30
 
260 lars 31
        /**
32
         * The console command description.
33
         *
34
         * @var string
35
         */
36
        protected $description = 'Converts the old webanOS-DB to laravel';
233 lars 37
 
260 lars 38
        /**
39
         * Execute the console command.
40
         *
41
         * @return void
42
         */
43
 
44
        public function handle(): void
238 lars 45
        {
294 lars 46
            $this->info( date( "d.m.Y H:i:s" ) . ": Verarbeitung gestartet" );
465 lars 47
            $migrateDirs = true;
422 lars 48
            if ( !$this->confirm( "Kategorien migrieren?" ) )
49
            {
50
                $migrateDirs = false;
51
            }
52
            $migrateItems = true;
53
            if ( !$this->confirm( "Artikel migrieren?" ) )
54
            {
55
                $migrateItems = false;
56
            }
57
            $migrateActions = true;
58
            if ( !$this->confirm( "Aktionen migrieren?" ) )
59
            {
60
                $migrateActions = false;
61
            }
62
            $migrateMedia = true;
63
            if ( !$this->confirm( "Medien migrieren?" ) )
64
            {
65
                $migrateMedia = false;
66
            }
67
            if ( $migrateActions )
68
            {
69
                $this->migrateMedia();
70
            }
71
            if ( $migrateDirs )
72
            {
73
                $this->migrateDirs();
74
                if ( $migrateMedia )
75
                {
76
                    $this->migrateDirMedia();
77
                }
78
            }
79
            if ( $migrateItems )
80
            {
81
                $this->migrateItems();
82
                if ( $migrateMedia )
83
                {
84
                    $this->migrateItemMedia();
85
                }
86
            }
87
            if ( $migrateActions )
88
            {
89
                $this->migrateActions();
90
                if ( $migrateMedia )
91
                {
92
                    $this->migrateActionMedia();
93
                }
465 lars 94
            }
95
            $this->migrateShops();
482 lars 96
            $this->migratePaymentMethods();
465 lars 97
            if ( env( 'site' ) == env( 'shop' ) )
98
            {
99
                $this->migrateUsers();
100
                $this->migrateAddresses();
101
                $this->migrateOrderAddresses();
102
                $this->migrateOrders();
103
                $this->migrateOrderItems();
104
            }
294 lars 105
            $this->info( date( "d.m.Y H:i:s" ) . ": Verarbeitung beendet" );
234 lars 106
        }
260 lars 107
 
433 lars 108
        public function migrateMedia()
109
        {
110
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Medien" );
111
            $sql = "
112
                SELECT
113
                    *
114
                FROM
115
                    medien
116
            ";
117
            $media = DB::connection( 'old' )->select( $sql );
118
            $progressbar = $this->output->createProgressBar( count( $media ) );
119
            $progressbar->start();
120
            foreach ( $media as $medium )
121
            {
122
                $mediumDB = new Medium();
123
                $mediumDB->id = $medium->id;
124
                $mediumDB->name = $medium->name;
125
                $mediumDB->folder = $medium->folder;
126
                $mediumDB->medium_type_id = $medium->typ;
127
                $mediumDB->description = $medium->beschreibung;
128
                if ( $medium->erstellt_am )
129
                {
130
                    $mediumDB->created_at = date( "Y-m-d H:i:s", $medium->erstellt_am );
131
                }
132
                $ersteller = $medium->erstellt_von;
133
                if ( !$ersteller )
134
                {
135
                    $ersteller = "WebanOS Laravel Upgrade";
136
                }
137
                $bearbeiter = $medium->letzte_aenderung_von;
138
                if ( !$bearbeiter )
139
                {
140
                    $bearbeiter = "WebanOS Laravel Upgrade";
141
                }
142
                $mediumDB->created_by = $ersteller;
143
                $mediumDB->updated_by = $bearbeiter;
144
                $mediumDB->save();
145
                $progressbar->advance();
146
            }
147
            $progressbar->finish();
148
            $progressbar->clear();
149
        }
150
 
260 lars 151
        private function migrateDirs()
152
        {
294 lars 153
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Kategorien" );
260 lars 154
            $sql = '
155
                SELECT
156
                    *
157
                FROM
158
                    directory
159
            ';
160
            $dirs = DB::connection( 'old' )->select( $sql );
301 lars 161
            $progressbar = $this->output->createProgressBar( count( $dirs ) );
162
            $progressbar->start();
260 lars 163
            foreach ( $dirs as $row )
164
            {
284 lars 165
                $ersteller = $row->erstellt_von;
166
                if ( !$ersteller )
167
                {
168
                    $ersteller = "WebanOS Laravel Upgrade";
169
                }
285 lars 170
                $bearbeiter = $row->letzte_Aenderung_von;
284 lars 171
                if ( !$bearbeiter )
172
                {
173
                    $bearbeiter = "WebanOS Laravel Upgrade";
174
                }
303 lars 175
                $dir = new Directory();
176
                $dir->id = $row->ID;
304 lars 177
                $dir->directory_id = $row->Father;
303 lars 178
                $dir->name = $row->Name;
432 lars 179
                $dir->articlemaster = $row->Artikelstamm;
304 lars 180
                $dir->status = $row->status;
303 lars 181
                $dir->kennung = $row->Kennung;
304 lars 182
                $dir->description = $row->Beschreibung;
183
                $dir->short_line_1 = $row->short_line_1;
303 lars 184
                $dir->url = $row->url;
185
                $dir->created_at = $row->erstellt_am;
186
                $dir->created_by = $ersteller;
187
                $dir->updated_by = $bearbeiter;
188
                $dir->updated_at = $row->letzte_Aenderung_am;
189
                $dir->save();
301 lars 190
                $progressbar->advance();
260 lars 191
            }
301 lars 192
            $progressbar->finish();
302 lars 193
            $progressbar->clear();
260 lars 194
        }
195
 
433 lars 196
        public function migrateDirMedia()
197
        {
198
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Kategorie-Bilder" );
199
            $sql = "SELECT
200
                    *
201
                FROM
202
                    directory_medien
203
            ";
204
            $media = DB::connection( 'old' )->select( $sql );
205
            $progressbar = $this->output->createProgressBar( count( $media ) );
206
            $progressbar->start();
207
            foreach ( $media as $row )
208
            {
209
                $medium = new DirectoryMedium();
210
                $medium->directory_id = $row->directory_id;
211
                $medium->medium_id = $row->medien_id;
212
                $medium->rank = $row->rang;
213
                $medium->similar = $row->aehnlich;
214
                $medium->created_at = $row->zugeordnet_am;
215
                $medium->updated_at = $row->zugeordnet_am;
216
                $medium->created_by = "WebanOS Laravel Upgrade";
217
                $medium->updated_by = "WebanOS Laravel Upgrade";
218
                $medium->save();
219
                $progressbar->advance();
220
            }
221
            $progressbar->finish();
222
            $progressbar->clear();
223
        }
224
 
260 lars 225
        private function migrateItems()
226
        {
294 lars 227
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel" );
260 lars 228
            $sql = '
229
                SELECT
230
                    *
231
                FROM
232
                    artikel
233
                WHERE
234
                    father>=-1
235
            ';
236
            $dirs = DB::connection( 'old' )->select( $sql );
301 lars 237
            $progressbar = $this->output->createProgressBar( count( $dirs ) );
238
            $progressbar->start();
260 lars 239
            foreach ( $dirs as $row )
240
            {
284 lars 241
                $item = new Item();
242
                $item->id = $row->ID;
243
                $item->directory_id = $row->Father;
244
                $item->name = $row->kurzbezeichnung;
245
                $item->status = $row->status;
246
                $item->kennung = $row->kennung;
247
                $item->description = $row->beschreibung;
248
                $item->created_at = $row->erstellt_am;
249
                $item->updated_at = $row->letzte_Aenderung_am;
283 lars 250
                $ersteller = $row->erstellt_von;
282 lars 251
                if ( !$ersteller )
281 lars 252
                {
282 lars 253
                    $ersteller = "WebanOS Laravel Upgrade";
281 lars 254
                }
287 lars 255
                $bearbeiter = $row->letzte_Aenderung_von;
282 lars 256
                if ( !$bearbeiter )
281 lars 257
                {
282 lars 258
                    $bearbeiter = "WebanOS Laravel Upgrade";
281 lars 259
                }
284 lars 260
                $item->created_by = $ersteller;
261
                $item->updated_by = $bearbeiter;
262
                $item->save();
301 lars 263
                $progressbar->advance();
260 lars 264
            }
301 lars 265
            $progressbar->finish();
302 lars 266
            $progressbar->clear();
294 lars 267
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Preise" );
260 lars 268
            $sql = "
269
                SELECT
270
                    p.*
271
                FROM
272
                    preise p
273
                JOIN
274
                    artikel a
275
                ON
276
                    a.id=p.artikel_id
277
                WHERE
278
                    a.father >=-1
279
            ";
280
            $prices = DB::connection( 'old' )->select( $sql );
301 lars 281
            $progressbar = $this->output->createProgressBar( count( $prices ) );
282
            $progressbar->start();
260 lars 283
            foreach ( $prices as $price )
284
            {
285
                Price::factory()->createQuietly( [
286
                    "item_id"     => $price->artikel_id,
287
                    "preis_index" => $price->preis_index,
288
                    "preis"       => $price->preis,
289
                    "staffel"     => $price->staffel,
290
                    "created_at"  => $price->geaendert_am,
288 lars 291
                    "created_by"  => $price->geaendert_von,
292
                    "updated_by"  => $price->geaendert_von,
260 lars 293
                    "updated_at"  => $price->geaendert_am
294
                ] );
301 lars 295
                $progressbar->advance();
260 lars 296
            }
301 lars 297
            $progressbar->finish();
302 lars 298
            $progressbar->clear();
260 lars 299
        }
300
 
433 lars 301
        public function migrateItemMedia()
302
        {
303
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel-Bilder" );
304
            $sql = "SELECT
305
                    *
306
                FROM
307
                    artikel_medien
308
            ";
309
            $media = DB::connection( 'old' )->select( $sql );
310
            $progressbar = $this->output->createProgressBar( count( $media ) );
311
            $progressbar->start();
312
            foreach ( $media as $row )
313
            {
314
                $medium = new ItemMedium();
315
                $medium->item_id = $row->artikel_id;
316
                $medium->medium_id = $row->medien_id;
317
                $medium->rank = $row->rang;
318
                $medium->similar = $row->aehnlich;
319
                $medium->created_at = $row->zugeordnet_am;
320
                $medium->updated_at = $row->zugeordnet_am;
321
                $medium->created_by = "WebanOS Laravel Upgrade";
322
                $medium->updated_by = "WebanOS Laravel Upgrade";
323
                $medium->save();
324
                $progressbar->advance();
325
            }
326
            $progressbar->finish();
327
            $progressbar->clear();
328
        }
329
 
260 lars 330
        private function migrateActions()
331
        {
294 lars 332
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Aktionen" );
260 lars 333
            $sql = "
334
                SELECT
335
                    *
336
                FROM
337
                    Aktionen
338
            ";
339
            $actions = DB::connection( 'old' )->select( $sql );
301 lars 340
            $progressbar = $this->output->createProgressBar( count( $actions ) );
341
            $progressbar->start();
260 lars 342
            foreach ( $actions as $action )
343
            {
344
                $actionDB = new Action();
345
                $actionDB->id = $action->ID;
346
                $actionDB->headline = $action->headline;
347
                $actionDB->text = $action->text;
348
                $actionDB->rang = $action->rang;
349
                $actionDB->config = $action->config;
264 lars 350
                $actionDB->category = $action->Kategorie;
260 lars 351
                $actionDB->notes = $action->notizen;
352
                $actionDB->valid_from = $action->von;
353
                $actionDB->valid_to = $action->bis;
291 lars 354
                $actionDB->created_by = "WebanOS Laravel Upgrade";
355
                $actionDB->updated_by = "WebanOS Laravel Upgrade";
265 lars 356
                $actionDB->save();
301 lars 357
                $progressbar->advance();
260 lars 358
            }
301 lars 359
            $progressbar->finish();
302 lars 360
            $progressbar->clear();
260 lars 361
        }
272 lars 362
 
433 lars 363
        public function migrateActionMedia()
272 lars 364
        {
433 lars 365
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Aktions-Bilder" );
366
            $sql = "SELECT
272 lars 367
                    *
368
                FROM
433 lars 369
                    aktionen_medien
272 lars 370
            ";
371
            $media = DB::connection( 'old' )->select( $sql );
301 lars 372
            $progressbar = $this->output->createProgressBar( count( $media ) );
373
            $progressbar->start();
433 lars 374
            foreach ( $media as $row )
272 lars 375
            {
433 lars 376
                $medium = new ActionMedium();
377
                $medium->action_id = $row->aktionen_id;
378
                $medium->medium_id = $row->medien_id;
379
                $medium->rank = $row->rang;
380
                $medium->created_by = "WebanOS Laravel Upgrade";
381
                $medium->updated_by = "WebanOS Laravel Upgrade";
382
                $medium->save();
301 lars 383
                $progressbar->advance();
272 lars 384
            }
301 lars 385
            $progressbar->finish();
302 lars 386
            $progressbar->clear();
272 lars 387
        }
304 lars 388
 
389
        private function migrateUsers()
390
        {
391
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere User" );
433 lars 392
            $start = 0;
393
            $sql = "SELECT
394
                    MAX(id) AS start
395
                FROM
434 lars 396
                    users
433 lars 397
            ";
398
            $row = DB::connection( "order" )->select( $sql );
449 lars 399
            if ( $row[0]->start )
433 lars 400
            {
435 lars 401
                $start = $row[0]->start;
433 lars 402
            }
403
            $sql = "SELECT
404
                    *
405
                FROM
434 lars 406
                    Logins
433 lars 407
                WHERE
408
                    id>" . $start . "
409
            ";
437 lars 410
            $users = DB::connection( "oldOrder" )->select( $sql );
411
            $progressbar = $this->output->createProgressBar( count( $users ) );
448 lars 412
            $progressbar->start();
437 lars 413
            foreach ( $users as $oldUser )
433 lars 414
            {
443 lars 415
                $ersteller = $oldUser->erstellt_von;
442 lars 416
                if ( !$ersteller )
417
                {
418
                    $ersteller = "WebanOS Laravel Upgrade";
419
                }
443 lars 420
                $bearbeiter = $oldUser->letzte_Aenderung_von;
442 lars 421
                if ( !$bearbeiter )
422
                {
423
                    $bearbeiter = "WebanOS Laravel Upgrade";
424
                }
437 lars 425
                $user = new User();
438 lars 426
                $user->id = $oldUser->ID;
437 lars 427
                $user->email = $oldUser->E_Mail;
428
                $user->created_at = $oldUser->erstellt_am;
442 lars 429
                $user->created_by = $ersteller;
430
                $user->updated_by = $bearbeiter;
437 lars 431
                $user->updated_at = $oldUser->letzte_Aenderung_am;
432
                $user->save();
441 lars 433
                $progressbar->advance();
433 lars 434
            }
441 lars 435
            $progressbar->finish();
436
            $progressbar->clear();
304 lars 437
        }
438
 
445 lars 439
        private function migrateAddresses( bool $isOrder = false )
304 lars 440
        {
445 lars 441
            $typ = "Adressen";
442
            $table = "addresses";
443
            $oldTable = "adresse";
444
            if ( $isOrder === true )
445
            {
446
                $typ = "Bestelladressen";
447
                $table = "order_addresses";
448
                $oldTable = "bestelladresse";
449
            }
450
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere " . $typ );
451
            $start = 0;
452
            $sql = "SELECT
453
                    MAX(id) AS start
454
                FROM
455
                    " . $table . "
456
            ";
457
            $row = DB::connection( "order" )->select( $sql );
449 lars 458
            if ( $row[0]->start )
445 lars 459
            {
460
                $start = $row[0]->start;
461
            }
462
            $sql = "SELECT
463
                    *
464
                FROM
465
                    " . $oldTable . "
466
                WHERE
467
                    id>" . $start . "
468
            ";
469
            $addresses = DB::connection( "oldOrder" )->select( $sql );
470
            $progressbar = $this->output->createProgressBar( count( $addresses ) );
447 lars 471
            $progressbar->start();
445 lars 472
            foreach ( $addresses as $oldAddress )
473
            {
474
                $ersteller = "WebanOS Laravel Upgrade";
475
                $bearbeiter = "WebanOS Laravel Upgrade";
458 lars 476
                if ( $isOrder === true )
452 lars 477
                {
478
                    $address = new OrderAddress();
479
                }
480
                else
481
                {
482
                    $address = new Address();
483
                }
445 lars 484
                $address->id = $oldAddress->id;
485
                $address->user_id = $oldAddress->logins_id;
486
                $address->salutation = $oldAddress->anrede;
487
                $address->pro_title = $oldAddress->pro_title;
488
                $address->name = $oldAddress->vorname;
489
                $address->lastname = $oldAddress->nachname;
490
                $address->company = $oldAddress->firma;
491
                $address->company2 = $oldAddress->firma2;
492
                $address->street = $oldAddress->strasse1;
493
                $address->houseno = $oldAddress->str_nr1;
494
                $address->street2 = $oldAddress->strasse2;
495
                $address->zip = $oldAddress->plz;
496
                $address->city = $oldAddress->ort;
497
                $address->country_id = $oldAddress->land;
498
                $address->state_id = $oldAddress->state;
499
                $address->phone = $oldAddress->telefon;
500
                $address->fax = $oldAddress->fax;
501
                $address->email = $oldAddress->email;
502
                $address->nettocalculation = $oldAddress->nettoberechnung;
450 lars 503
                $address->hr_nr = $oldAddress->hr_nr;
445 lars 504
                $address->vat_id = $oldAddress->vat_id;
505
                $address->vat_free = $oldAddress->mwst_befreiung;
506
                $address->legal_form = $oldAddress->legal_form;
507
                $address->comment = $oldAddress->comment;
451 lars 508
                $address->created_at = $oldAddress->letzte_aenderung_am;
445 lars 509
                $address->created_by = $ersteller;
510
                $address->updated_by = $bearbeiter;
511
                $address->updated_at = $oldAddress->letzte_aenderung_am;
512
                $address->save();
513
                $progressbar->advance();
514
            }
515
            $progressbar->finish();
516
            $progressbar->clear();
304 lars 517
        }
518
 
519
        private function migrateOrderAddresses()
520
        {
445 lars 521
            $this->migrateAddresses( true );
304 lars 522
        }
523
 
524
        private function migrateOrders()
525
        {
526
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Bestellungen" );
454 lars 527
            $start = 0;
528
            $sql = "SELECT
529
                    MAX(id) AS start
530
                FROM
531
                    orders
532
            ";
533
            $row = DB::connection( "order" )->select( $sql );
534
            if ( $row[0]->start )
535
            {
536
                $start = $row[0]->start;
537
            }
538
            $sql = "SELECT
539
                    *
540
                FROM
541
                    Bestellung
542
                WHERE
543
                    id>" . $start . "
544
            ";
545
            $orders = DB::connection( "oldOrder" )->select( $sql );
546
            $progressbar = $this->output->createProgressBar( count( $orders ) );
547
            $progressbar->start();
548
            foreach ( $orders as $oldOrder )
549
            {
550
                $order = new Order();
551
                $order->id = $oldOrder->ID;
481 lars 552
                $order->shop_id = $oldOrder->shops_ID;
459 lars 553
                $order->order_type_id = $oldOrder->bestellart_id;
458 lars 554
                $order->payment_method_id = $oldOrder->zahlart_id;
555
                $order->user_id = $oldOrder->Login;
556
                $order->ship_addr_id = $oldOrder->ship_addr_id;
557
                $order->bill_addr_id = $oldOrder->bill_addr_id;
558
                $order->paid = $oldOrder->bezahlt;
559
                $order->paid_at = $oldOrder->bezahlt_am;
560
                $order->paid_comment = $oldOrder->bezahlt_bemerkung;
561
                $order->foreign_id = $oldOrder->fremd_id;
562
                $order->foreign_payment_id = $oldOrder->bezahlt_fremdid;
563
                $order->status = $oldOrder->status;
564
                $order->total_amount_buffer = $oldOrder->gesamtsumme_buffer;
565
                $order->item_status_buffer = $oldOrder->artikelstatus_buffer;
566
                $order->invoice_status_buffer = $oldOrder->rechnungsstatus_buffer;
567
                $order->delivery_note_buffer = $order->lieferscheinstatus_buffer;
568
                $order->tax = $oldOrder->tax;
569
                $order->comment = $oldOrder->Bemerkung;
570
                $order->external_comment = $oldOrder->Bemerkung_extern;
571
                $order->note = $oldOrder->notiz;
460 lars 572
                $order->additional_info = $oldOrder->zusatzInfo;
458 lars 573
                $order->shipping_group_id = $oldOrder->versandgruppen_id;
574
                $order->kk_info = $oldOrder->kk_info;
575
                $order->created_by = $oldOrder->erstellt_von;
576
                $order->updated_by = $oldOrder->letzte_Aenderung_von;
577
                $order->updated_at = $oldOrder->letzte_Aenderung_am;
578
                $order->created_at = $oldOrder->erstellt_am;
454 lars 579
                $order->save();
580
                $progressbar->advance();
581
            }
582
            $progressbar->finish();
583
            $progressbar->clear();
304 lars 584
        }
585
 
586
        private function migrateOrderItems()
587
        {
588
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Artikel in Besetllungen" );
454 lars 589
            $start = 0;
590
            $sql = "SELECT
591
                    MAX(id) AS start
592
                FROM
593
                    order_items
594
            ";
595
            $row = DB::connection( "order" )->select( $sql );
596
            if ( $row[0]->start )
597
            {
598
                $start = $row[0]->start;
599
            }
600
            $sql = "SELECT
601
                    *
602
                FROM
603
                    artikel_to_Bestellung
604
                WHERE
605
                    id>" . $start . "
606
            ";
607
            $orderItems = DB::connection( "oldOrder" )->select( $sql );
608
            $progressbar = $this->output->createProgressBar( count( $orderItems ) );
609
            $progressbar->start();
610
            foreach ( $orderItems as $oldOrderItem )
611
            {
612
                $progressbar->advance();
613
            }
614
            $progressbar->finish();
615
            $progressbar->clear();
304 lars 616
        }
422 lars 617
 
465 lars 618
        private function migrateShops()
619
        {
473 lars 620
            $this->info( date( "d.m.Y H:i:s" ) . ": Migriere Shops" );
477 lars 621
            $start = 0;
622
            $sql = "
623
                SELECT
480 lars 624
                    MAX(id) AS start
477 lars 625
                FROM
479 lars 626
                    shops
477 lars 627
            ";
478 lars 628
            $row = DB::connection( 'mysql' )->select( $sql );
477 lars 629
            if ( $row[0]->start )
630
            {
631
                $start = $row[0]->start;
632
            }
466 lars 633
            $sql = "SELECT
465 lars 634
                    *
635
                FROM
636
                    shops
477 lars 637
                WHERE
638
                    id>" . $start . "
465 lars 639
            ";
466 lars 640
            $shops = DB::connection( 'old' )->select( $sql );
465 lars 641
            foreach ( $shops as $oldShop )
642
            {
643
                $shop = new Shop();
466 lars 644
                $shop->id = $oldShop->ID;
645
                $shop->name = $oldShop->Name;
646
                $shop->short = $oldShop->short;
471 lars 647
                $shop->re_short = '';
466 lars 648
                if ( isset( $oldShop->re_short ) && $oldShop->re_short )
465 lars 649
                {
471 lars 650
                    $shop->re_short = $oldShop->re_short;
465 lars 651
                }
466 lars 652
                if ( isset( $oldShop->preisindex_ek ) && $oldShop->preisindex_ek )
653
                {
654
                    $shop->preisindex_ek = $oldShop->preisindex_ek;
655
                }
656
                $shop->ebay = $oldShop->ebay;
657
                $shop->erfassung = $oldShop->erfassung;
467 lars 658
                if ( isset( $oldShop->status ) && $oldShop->status )
659
                {
660
                    $shop->status = $oldShop->status;
661
                }
468 lars 662
                if ( isset( $oldShop->rang ) && $oldShop->rang )
663
                {
664
                    $shop->rank = $oldShop->rang;
665
                }
466 lars 666
                $shop->klonziel = $oldShop->klonziel;
667
                $shop->konroot = $oldShop->konroot;
469 lars 668
                if ( isset( $oldShop->home ) && $oldShop->home )
669
                {
670
                    $shop->home = $oldShop->home;
671
                }
466 lars 672
                $shop->database = $oldShop->database;
673
                $shop->domain = $oldShop->domain;
674
                $shop->mail_server = $oldShop->mail_server;
675
                $shop->mail_user = $oldShop->mail_user;
470 lars 676
                $shop->mail_password = $oldShop->mail_passwort;
465 lars 677
                $shop->save();
678
            }
482 lars 679
 
465 lars 680
        }
681
 
482 lars 682
        private function migratePaymentMethods()
683
        {
684
            $sql = "SELECT
685
                    *
686
                FROM
687
                    zahlungsarten
688
            ";
689
            $methods = DB::connection( 'old' )->select( $sql );
690
            foreach ( $methods as $method )
691
            {
692
                PaymentMethod::factory()->create( [
693
                    "id"            => $method->id,
694
                    "name"          => $method->name,
695
                    "discount"      => $method->abschlag,
696
                    "internal_name" => $method->interner_name,
697
                    "info_in_shop"  => $method->info_im_shop,
698
                    "shipping_text" => $method->versandtextbaustein,
699
                ] );
700
            }
701
        }
702
 
233 lars 703
    }