اپنے فلاسک ایپ کو CouchDB کے ساتھ کیسے جوڑیں: ایک NoSQL ڈیٹا بیس۔

اپنے فلاسک ایپ کو CouchDB کے ساتھ کیسے جوڑیں: ایک NoSQL ڈیٹا بیس۔

فلاسک کو ایس کیو ایل ڈیٹا بیس جیسے پوسٹگری ایس کیو ایل اور ایس کیو ایلائٹ کے ساتھ مربوط کرنا ایک سنچ ہے۔ لیکن فریم ورک بالکل NoSQL ڈیٹا بیس جیسے CouchDB کے ساتھ مطابقت رکھتا ہے۔ اور ایک اضافی فائدہ کے طور پر ، جب آپ فلاسک کے ساتھ CouchDB استعمال کرتے ہیں تو آپ اپنے ڈیٹا سے آسانی سے استفسار کر سکتے ہیں۔





اپنے فلاسک ایپ کے ساتھ NoSQL جیسے CouchDB کا استعمال کرکے تبدیلی لانے کے لیے تیار ہیں؟ اپنی مقامی مشین پر CouchDB کو ترتیب دینے اور اسے فلاسک سے مربوط کرنے کا طریقہ یہاں ہے۔





CouchDB کیا ہے؟

CouchDB ایک NoSQL ڈیٹا بیس ہے جو فی الحال اپاچی سافٹ ویئر فاؤنڈیشن کی ملکیت ہے۔ ایرلنگ کے ساتھ لکھا گیا ، سافٹ ویئر پہلی بار 2005 میں جاری کیا گیا تھا۔





باقاعدہ ٹیبل سے منسلک ڈیٹا بیس کے برعکس جس کے آپ زیادہ تر عادی ہوتے ہیں ، CouchDB ایک غیر متعلقہ ڈیٹا بیس مینجمنٹ سسٹم ہے جو ڈیٹا کو خام JSON کے طور پر محفوظ کرتا ہے۔

CouchDB غیر مسدود ہے ، لہذا یہ ڈیٹا ان پٹ کے دوران ڈیٹا بیس کو لاک نہیں کرتا ہے۔ CouchDB کے مضبوط نکات میں سے ایک یہ ہے کہ یہ ڈیٹا کو پڑھنے اور لکھنے کے لیے ملٹی ورژن کنکرنسی کنٹرول پالیسی استعمال کرتا ہے۔ لہذا یہ ڈیٹا بیس میں ڈیٹا کے موجودہ ڈھانچے میں مداخلت کے بغیر متعدد صارفین سے بیک وقت ان پٹ کی اجازت دیتا ہے۔



اس طرح ، سوالات کے دوران CouchDB تیز ہے اور غیر متزلزل طریقوں کا استعمال کرتے ہوئے کام کرنا آسان ہے۔ اس نے کہا ، یہ اس کے ایس کیو ایل ہم منصب سے بہتر نہیں بناتا ہے۔ ہر ٹیکنالوجی کے اپنے فوائد اور نقصانات ہیں۔

CouchDB سیٹ اپ۔

CouchDB کا استعمال شروع کرنے کے لیے ، سے ہم آہنگ ورژن ڈاؤن لوڈ اور انسٹال کریں۔ CouchDB کی آفیشل ویب سائٹ۔ .





اور اگر یہ تازہ ترین ورژن آپ کے لیے کام نہیں کرتا ہے تو آگے بڑھیں۔ CouchDB محفوظ شدہ دستاویزات۔ اور ورژن 1.6.1 ڈاؤن لوڈ کریں ، جو کہ CouchDB کا سابقہ ​​ورژن ہے۔

ایک بار جب آپ CouchDB انسٹال کر لیتے ہیں تو اسے اپنے کمپیوٹر پر اس طرح چلائیں جیسے آپ کوئی دوسری ڈیسک ٹاپ ایپ کریں۔





اپنا براؤزر کھولیں۔ پھر اپنے ایڈریس بار میں درج ذیل کو چسپاں کرکے کوچ ڈی بی کا سرور لانچ کریں۔

http://localhost:5984/_utils/index.html

ازگر اور فلاسک سیٹ اپ کریں۔

تاہم ، یہ سبق یہ مانتا ہے کہ آپ نے اپنے کمپیوٹر پر پہلے ہی ازگر انسٹال کر رکھا ہے۔ بصورت دیگر ، پر جائیں۔ python.org اور اپنے کمپیوٹر پر ازگر کا تازہ ترین ورژن انسٹال کریں۔

ایک بار جب آپ CouchDB مرتب کرلیں ، ایک پروجیکٹ روٹ فولڈر بنائیں۔ پھر اپنی کمانڈ لائن کو اس ڈائریکٹری میں کھولیں اور ایک ازگر کا مجازی ماحول۔ .

استعمال کرتے ہوئے ورچوئل اسپیس میں فلاسک کا تازہ ترین ورژن انسٹال کریں۔ پائپ :

میرا ای میل اپ ڈیٹ کیوں نہیں ہو رہا؟
pip install flask

فلاسک کو CouchDB سے جوڑیں۔

اپنی فلاسک ایپ کے ساتھ CouchDB کا استعمال شروع کرنے کے لیے ، انسٹال کریں۔ فلاسک سوفی ڈی بی۔ ، فلاسک کے ساتھ ڈیٹا بیس کو جوڑنے کے لیے رن ٹائم پیکیج۔

ایسا کرنے کے لئے:

pip install Flask-CouchDB

ایک بار جب آپ انسٹال کریں۔ فلاسک سوفی ڈی بی۔ کامیابی سے ، ایک بنائیں app.py اس روٹ فولڈر میں فائل. اسی طرح ، ایک بنائیں۔ database.py فائل - یہ آپ کے ڈیٹا بیس کی تخلیق کو سنبھالتا ہے۔

کھولیں database.py اور درج ذیل پیکیج درآمد کریں:

from couchdb import Server

اگلا ، کوڈ کے درج ذیل بلاک کا استعمال کرتے ہوئے اسی فائل میں اپنا ڈیٹا بیس بنائیں:

from couchdb import Server
server = Server()
db = server.create('muocouch')

پھانسی دینا۔ database.py CLI کے ذریعے پھر اپنے براؤزر کے ذریعے کوچ ڈی بی کا لوکل سرور کھولیں یا ریفریش کریں جیسا کہ آپ نے پہلے کیا تھا۔ اب آپ کو ڈیٹا بیس دیکھنا چاہیے ( muocouch اس معاملے میں) CouchDB میں درج ہے۔

متعلقہ: ازگر کا سکرپٹ کیسے چلایا جائے۔

نوٹ: اس بات کو یقینی بنائیں کہ آپ ڈیٹا بیس کے لیے ایک لوئر کیس نام کنونشن استعمال کرتے ہیں ، کیونکہ CouchDB اپر یا مخلوط کیسز کو قبول نہیں کر سکتا۔

فلاسک کا استعمال کرتے ہوئے اپنا پہلا کوچ ڈی بی ڈیٹا اسٹور کریں۔

بالآخر ، کسی بھی ڈیٹا بیس کا مقصد ڈیٹا اسٹوریج ہوتا ہے۔ ایک بار جب آپ کے پاس CouchDB میں ڈیٹا بیس ہو جائے تو آپ فلاسک ایپ سے اس میں ڈیٹا کو ذخیرہ کرنا شروع کر سکتے ہیں۔

شروع کرنے کے لیے ، کھولیں۔ app.py اور درج ذیل پیکیج درآمد کریں:

from flask import Flask
from couchdb import Server
from flaskext.couchdb import Document

اگلا ، ایک فلاسک ایپ اور CouchDB سرور مثال بنائیں:

app = Flask(__name__, static_url_path='/static')
app.debug=True
server = Server()

اب آئیے کچھ صارف کی معلومات کو CouchDB میں محفوظ کریں:

@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
doc_id, doc_rev = db.save(user) #store your data in th database
return '

Your data should now be in the database

'

اگر آپ چاہیں تو ، آپ اپنے فلاسک سرور کو چلانے سے پہلے اسے ڈویلپمنٹ موڈ پر سیٹ کر سکتے ہیں۔

ایسا کرنے کے لیے ، اپنے CLI کے ذریعے درج ذیل کمانڈ کو چلائیں:

set FLASK_ENV=development

نوٹ کریں کہ سرور موڈ سیٹ کرنا اختیاری ہے۔ یہ صرف آپ کے کوڈ کو پریشانی سے پاک بنا دیتا ہے۔

لیکن سرور موڈ کی ترتیب سے قطع نظر ، سی ایم ڈی کے ذریعے فلاسک سرور کو شروع کرنے کا طریقہ یہ ہے:

flask run

تاہم ، فلاسک آپ کی پورٹ کو ڈیفالٹ کر دیتا ہے۔ لوکل ہوسٹ: 5000۔ . اب آپ کو پیغام میں دیکھنا چاہیے۔ H2 ایک بار جب آپ اپنے براؤزر کے ذریعے یہ پتہ لوڈ کریں گے تو ٹیگ کریں۔

ڈیٹا کی توثیق کریں اور ڈوپلیکیٹس کو CouchDB سوالات کا استعمال کرتے ہوئے چیک کریں۔

اس کو مزید معیاری بنانے کے لیے ، آپ ان پٹ کو درست کرنے اور اپنے ڈیٹا بیس میں ڈپلیکیٹس کو روکنے کے لیے سوالات استعمال کر سکتے ہیں۔ CouchDB سے پوچھنا تھوڑا مختلف ہے کہ آپ ایس کیو ایل ڈیٹا بیس کے ساتھ یہ کیسے کرتے ہیں۔

کوچ ڈی بی ڈیٹا بیس سے ڈیٹا کے استفسار کے لیے اسے 'جاوا اسکرپٹ ویوز' کہتا ہے۔ خوش قسمتی سے ، یہ نسبتا simple آسان ہے۔

اس سے پہلے کہ آپ مزید ترقی کریں ، یہ ہے کہ ایک بنیادی CouchDB استفسار کا نظارہ کیسا لگتا ہے:

map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
myQuery = [docType].query(db, map_func, reduce_fun=None)

اب اوپر والے کوڈ کو عملی طور پر استعمال کریں:

#Create a document object model called ' Users :'
class User(Document):
doc_type = 'User'
@app.route('/', methods=['GET', 'POST'])
def register():
user = {
'username':'media site',
'email':'justmail@gmail.com',
'password':'encrypteddata'
}
db = server['muocouch'] #select the database
# Use the view function to fetch your data from CouchDB
map_func = '''function(doc)
{ emit(doc.doc_rev, doc); }'''
# Get all the data by running a query set
myQuery = User.query(db, map_func, reduce_fun=None, reverse=True)
q = [i['username'] for i in myQuery] # Loop out all the usernames from the database
q2 = [i['email'] for i in myQuery] # Loop out all the email addresses from the database
q3 = q+q2 # Merge both queries into a single list
print(q3)
return '

Your data is now in the database

'

اوپر کوڈ استعمال کرتا ہے صارف۔ ویو فنکشن کے ذریعے حاصل کردہ ڈیٹا سے استفسار کرنے کے لیے کلاس۔ استفسار سیٹ کے اندر پیرامیٹرز پر پوری توجہ دیں ( myQuery ).

پرنٹنگ q3 ، جیسا کہ آپ نے اوپر کیا ، اب کمانڈ لائن کے اندر موجود ڈیٹا بیس میں موجود تمام صارف نام اور ای میل پتے آؤٹ پٹ کرنے چاہئیں۔

تو یہ ہے کہ آپ اس استفسار کو کس طرح استعمال کر سکتے ہیں تاکہ صارفین کے ان پٹ کو درست کیا جا سکے۔

if not (user['username'] in q3 or user['email'] in q3):
#store your data into the database if itdoesn't exist
doc_id, doc_rev = db.save(user)
return '

Registered successfully

'
else:
return '

Username or email exists

'

اپنے براؤزر کو ریفریش کرنے سے لوٹ آتا ہے۔ اور ہر بار جب آپ صارف نام یا ای میل داخل کرنے کی کوشش کریں جو پہلے ہی ڈیٹا بیس میں موجود ہو۔ اور اگر آپ نیا داخل کر رہے ہیں تو ، یہ آپ کے ڈیٹا کو کامیابی کے ساتھ اسٹور کرتا ہے۔ اگر حالت.

متعلقہ: ازگر کا استعمال کیسے کریں اگر بیان۔

یہی ہے! آپ نے ابھی فلاسک- CouchDB کا استعمال کرتے ہوئے اپنا پہلا NoSQL ڈیٹا بیس بنایا ہے۔

اگرچہ CouchDB میں ڈیٹا بیس بنانا اور ان سے استفسار کرنا ان مثالوں کے گرد گھومتا ہے جنہیں ہم نے یہاں نمایاں کیا ہے ، آپ فلاسک کی فعالیت کو مزید جانچ سکتے ہیں۔ مثال کے طور پر ، آپ ان پٹ فیلڈز کو استعمال کرکے گھما سکتے ہیں۔ wtforms اور فلاسک کے پیغام کا استعمال کرتے ہوئے ڈپلیکیٹ پرچم لگائیں۔ فلیش .

یہاں تک کہ آپ اپنے استفسار کو جاوا اسکرپٹ کے jQuery پر بھیج سکتے ہیں تاکہ ان پٹ کی توثیق کی جا سکے اور ڈپلیکیٹس کو غیر مطابقت پذیر چیک کیا جا سکے۔

کیا CouchDB SQL ڈیٹا بیس سے بہتر ہے؟

فلاسک یا کسی اور پروگرامنگ ٹیکنالوجی کے ساتھ CouchDB یا کسی دوسرے NoSQL ڈیٹا بیس کا استعمال آپ کی ترجیح پر منحصر ہے۔ لیکن ڈھانچے کے بغیر ڈیٹا اور خام میڈیا سے نمٹنے کے دوران یہ کام آتا ہے۔

اس نے کہا ، اس سے پہلے کہ آپ فیصلہ کریں ، آپ NoSQL اور SQL ڈیٹا بیس کے مابین فرق کو دیکھنا چاہتے ہیں تاکہ آپ کو یہ فیصلہ کرنے میں مدد ملے کہ ان میں سے کون سا آپ کے پروجیکٹ کے لیے موزوں ہے۔

بانٹیں بانٹیں ٹویٹ ای میل۔ SQL بمقابلہ NoSQL: آپ کے اگلے پروجیکٹ کے لیے بہترین ڈیٹا بیس کیا ہے؟

ڈیٹا بیس کی قسم کا انتخاب مشکل ہوسکتا ہے۔ کیا آپ SQL یا NoSQL کا انتخاب کریں؟

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • ڈیٹا بیس
  • پروگرامنگ۔
  • کوڈنگ ٹیوٹوریل
مصنف کے بارے میں ایدیسو اومیسولا۔(94 مضامین شائع ہوئے)

ادوو کسی بھی سمارٹ ٹیک اور پیداوری کے بارے میں پرجوش ہے۔ اپنے فارغ وقت میں ، وہ کوڈنگ کے ساتھ کھیلتا ہے اور جب وہ بور ہوتا ہے تو شطرنج بورڈ پر سوئچ کرتا ہے ، لیکن اسے تھوڑی دیر میں معمول سے الگ ہونا بھی پسند ہے۔ لوگوں کو جدید ٹیکنالوجی کے راستے دکھانے کا ان کا جذبہ انہیں مزید لکھنے کی ترغیب دیتا ہے۔

Idowu Omisola سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔