Datu bāzes pārvaldība ar Sinatra

Kad mūsu tīmekļa lietojumprogramma ir definēta un mēs jau zinām, kas mums jāsasniedz, daudzas reizes ir jāpanāk tāda datu noturība, kas nozīmē, ka tās iegūtie dati tiek glabāti kaut kur un pēc tam tiek izmantoti, un tas padara datu bāzi par to dzinēji mums.

Tā kā nepieciešamība pēc mūsu datu saglabāšanas lietojumprogrammās ir jāmeklē vai jāsaprot, kā rīkoties ar šīm darbībām, un, lai gan mūsdienās tas var likties sarežģīti, ir daudz rīku, kas atvieglo mūsu darbu, piemēram, ORM kas dod mums iespēju izveidot no dzinēja neatkarīgas struktūras, lai mēs gandrīz nekad nerakstītu tīru vaicājumu.

Gadījumā, ja Sinatra Ir vairāki dārgakmeņi, kas jau ir atbildīgi par datu bāzu savienojumiem un administrēšanu, tāpēc mēs redzēsim, kas tie ir un kā mēs varam tos integrēt savā lietojumprogrammā.

Izvēlieties datu bāzes dzinēju


Pirmais solis, kas mums jādara, ir izvēlēties mūsu lietojumprogrammai pareizo datu bāzes dzinēju, tirgū ir daudz risinājumu, un katram no tiem ir atšķirīgs mērķis. Sinatra mēs parasti izmantosim MySQL vai PostgreSQL ražošanas vidē vai, ja tā nav SQLite attīstības vidēs.

Šīs apmācības gadījumā mēs izvēlējāmies pēdējo iespēju, pateicoties tās vienkāršai uzstādīšanai un ātrumam, ar kādu mēs varam sākt strādāt.

SQLite instalēšana


Lai instalētu šo dzinēju, vispirms mēs ejam uz tās oficiālo vietni un lejupielādējam mūsu sistēmai atbilstošu pakotni, daudzus izplatījumus Linux Tiem jau ir uzstādīts un darbojas šis dzinējs, tāpēc mēs redzēsim, kā šo procesu veikt Windows.

Iepriekšējā attēlā mēs redzam, ka mums ir jālejupielādē iepriekš sastādītie binārie faili, kad tas būs izdarīts, mēs tos izpakosim mapē ar nosaukumu SQLite mūsu C: diskā, un mēs pievienojam šo mapi kā vides mainīgo PATH. Kad rakstīšana tiek veikta iepriekš sqlite3 mūsu konsolē mums vajadzētu redzēt kaut ko līdzīgu šim.

Kad šī darbība ir veikta, mums tagad ir jālejupielādē atbilstošais draiveris Rubīns, tāpēc mūsu komandu konsolē mums jāraksta:

 dārgakmens instalējiet sqlite3
Tam vajadzētu dot mums šādu rezultātu, kas norāda, ka dārgakmens instalēšana bija veiksmīga, lai izveidotu savienojumu SQLite.

ORM


Tā kā mums ir mūsu datu bāzes dzinējs, tagad ir kārta iegūt ORMŠis ir rīks, kas ļauj mums datu bāzes tabulas pārvērst objektos, tādā veidā mēs varam vieglāk ar tām strādāt savā lietojumprogrammā.

PriekšrocībaGalvenā priekšrocība ORM Tas ļauj mums būt neatkarīgiem no dzinēja, jo, ja nav nepieciešams tieši rakstīt SQL kodu, mēs varam vienkārši mainīt konfigurāciju un veikt atbilstošās migrācijas.

Protams, ir daudz iespēju strādāt Rubīns un ar SinatraTomēr viens no draudzīgākajiem ir sākt DataMapper.

Instalējiet DataMapper


Šī uzstādīšana ORM Tas nevar būt vienkāršāk, un tas ir saistīts ar faktu, ka tas ir arī dārgakmens, tāpēc mums vienkārši ir jāizpilda pāris norādījumi mūsu konsolē, pirmais ir šāds, kas palīdz mums iegūt pamata komponentu:
 gem instalēt data_mapper
Tam vajadzētu radīt rezultātu, kas līdzīgs šādam:

Tagad, kad mums ir bāze, mums vienkārši jāinstalē draiveris DataMapper var mijiedarboties ar SQLite, šim nolūkam mums jāinstalē šāds dārgakmens:

 gem instalēt adapteri dm-sqlite
Tieši tas ļaus mūsu lietojumprogrammām izveidot tabulas un izmantot datu bāzi bez SQL koda rakstīšanas.

Izveidojiet savienojumu ar datu bāzi


Tā kā mums ir instalētas atkarības, mums jādara tagad, lai pārbaudītu, kā darbojas mūsu jaunā datu noturības vide, tāpēc mēs izveidosim klasi. Šī klase būs pamats, kas ļaus mums izveidot tabulu un tajā saglabāt ierakstus, tas arī dod mums iespēju nerakstīt kodu SQL tieši, lai nākotnē, kad mums jāizmanto cits Database dzinējs, pietiek ar vienkāršu konfigurācijas maiņu.

Mūsu lietojumprogrammu mapē mēs izveidosim failu ar nosaukumu dziesmas.rb, šai klasei ir jāizveido karte par to, kā mēs varam saglabāt dziesmu datu bāzē, apskatīsim saturu un pēc tam paskaidrosim, ko katra sadaļa dara:

 pieprasīt 'dm-core' pieprasīt 'dm-migrations' DataMapper.setup (: noklusējums, "sqlite3: // # {Dir.pwd} /musica.db") klases Dziesmas ietver DataMapper :: Resursa rekvizīts: id, Serial property: virsraksts, virknes rekvizīts: ilgums, vesela skaitļa rekvizīts: release_date, datuma beigas DataMapper.finalize
Pirmkārt, mums ir jādara pieprasīt no galvenajām sastāvdaļām DataMapper šajā gadījumā dm-kodols Y dm-migrācijas. Tad mēs izveidojam konfigurācijas līniju, kas ļauj mums to izmantot SQLite lai nekavējoties izveidotu failu, šajā gadījumā mūzika.dbJa fails jau pastāv, tas nozīmē, ka datu bāze jau pastāv, tāpēc savienojums vienkārši tiks izveidots.

Beidzot veicam savu klasi dziesmas kurā būs virkne atribūtu, kas to identificē, un citas klases iekļaušana DataMapper. Tādējādi mēs esam gatavi nākamajam posmam, proti, pārbaudīt mūsu lietojumprogrammu. Tā kā mēs savā pārlūkprogrammā neesam radījuši neko redzamu, ir īstais laiks izmantot Rubīna interaktīvā konsole (irb), kas ļaus mums pārbaudīt, vai viss ir uz pareizā ceļa, turklāt ļauj mums pierast pie DataMapper.

Izmēģiniet mūsu lietotni


Vispirms mūsu terminālī vai konsolē mums jādodas uz mapi, kurā esam saglabājuši savu failu dziesmas.rb tā kā šī ir mūsu piemēra attīstīšanas atslēga, tad tur mums jāsāk mūsu interaktīvā konsole Rubīns ierakstot komandu:
 irb
Kad mēs to sākam, mēs varam darīt pieprasīt no mūsu klases, ievietojot komandu:
 pieprasīt "./songs"
Ja tas ir veiksmīgs, tam jāatgriežas patiesībā, ko mēs varam redzēt nākamajā attēlā.

Nākamajā darbībā mums jāizmanto rīks auto_migrate no DataMapper, tas ļaus mums izveidot tabulu ar mūsu klases atribūtiem atbilstošajā datu bāzes failā. Šim nolūkam mēs vienkārši rakstām sekojošo:

 Dziesmas.auto_migrate!
Kas rada nepieciešamo struktūru, lai varētu saglabāt ierakstus.

Izveidojiet mūsu pirmo dziesmu


Tagad mums ir jāizveido objekts, kas ļaus mums saglabāt nepieciešamās vērtības datu bāzē, tāpēc mēs izveidosim objektu ar nosaukumu dziesma:
 dziesma = Dziesmas.jauns
Lai to vēlāk saglabātu ar šādu komandu:

Tas jau dod mums pamata platformu, lai iekļautu informāciju mūsu datu bāzē. Apskatīsim, kas konsolei šajā brīdī būtu jāparāda:

Kad tas ir izdarīts, mēs varam glabāt tam nepieciešamos datus. Kamēr mēs joprojām atrodamies konsolē, mēs pievienosim objekta atribūtus pa vienam, redzēsim:

 song.title = “Jauna dziesma” song.duration = “315” song.release_date = Date.new (2010) song.save
Katrs no iepriekšējiem norādījumiem tika saglabāts dziesmas objektā un izpildījis metodi saglabāt tas viss tiek glabāts datu bāzē. Nākamajā attēlā mēs redzam mūsu veikto procesu.

Mēs arī atzīmējam, ka Rubīns tas ir reģistrjutīga tāpēc mums jābūt uzmanīgiem, kā rakstām savas klases, jo konsoles gadījumā, rakstot klasi, radās kļūda Datums, kopš tika uzrakstīts datums, kas tika atklāts nekavējoties. Visbeidzot, ja vēlamies iepazīties ar saglabātajām dziesmām, pietiek uzrakstīt šādu instrukciju:

 Dziesmas.visas
Mēs varam arī uzskaitīt, cik ierakstu mums ir, izmantojot tālāk norādīto.
 Dziesmas.skait
Visbeidzot, apskatīsim mūsu konsolē saņemto atbildi, izpildot šīs divas komandas.

Mēs esam ievietojuši savu pirmo ierakstu un esam ar to veiksmīgi iepazinušies, tādējādi iemācoties izmantot Datu bāzi Sinatra, lai gan vērīgākie, iespējams, saprata, ka viss, ko mēs darījām, bija Rubīns, un šī bija lieliska ideja, lai parādītu, cik zinoši Rubīns mēs varam strādāt Sinatra bez daudzām komplikācijām.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave