آموزش تعریف پایگاه داده به صورت پویا در Peewee

3 سال پیش
آموزش تعریف پایگاه داده به صورت پویا در Peewee

آموزش تعریف پایگاه داده به صورت پویا در Peewee

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش تعریف پایگاه داده به صورت پویا در Peewee خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون

اگر قرار است پایگاه داده شما در زمان اجرا متغیر باشد، از راهنمای DatabaseProxy برای کنترل بهتر نحوه راه اندازی اولیه آن استفاده کنید. شی DatabaseProxy یک متغیر مکان است که به کمک آن می توان پایگاه داده را در زمان اجرا انتخاب کرد.

در مثال زیر یک پایگاه داده مناسب بسته به تنظیمات پیکربندی برنامه انتخاب می شود.

from peewee import *
db_proxy = DatabaseProxy() # Create a proxy for our db.

class MyUser (Model):
   name=TextField()
   city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")])
   age=IntegerField()
   class Meta:
      database=db_proxy
      db_table='MyUser'

# Based on configuration, use a different database.
if app.config['TESTING']:
   db = SqliteDatabase(':memory:')
elif app.config['DEBUG']:
   db = SqliteDatabase('mydatabase.db')
else:
   db = PostgresqlDatabase(
      'mydatabase', host='localhost', port=5432, user='postgres', password='postgres'
   )

# Configure our proxy to use the db we specified in config.
db_proxy.initialize(db)
db.connect()
db.create_tables([MyUser])

 

همچنین می توانید با استفاده از متد ()bind که در کلاس پایگاه داده و کلاس مدل اعلام شده است، مدلها را در طول زمان اجرا به هر شی پایگاه داده مرتبط کنید.

مثال زیر از متد ()bind در کلاس پایگاه داده استفاده می کند.

from peewee import *

class MyUser (Model):
   name=TextField()
   city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")])
   age=IntegerField()

db = MySQLDatabase('mydatabase', host='localhost', port=3306, user='root', password='')
db.connect()
db.bind([MyUser])
db.create_tables([MyUser])

 

همین متد ()bind نیز در کلاس Model تعریف شده است.

from peewee import *

class MyUser (Model):
   name=TextField()
   city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")])
   age=IntegerField()

db = MySQLDatabase('mydatabase', host='localhost', port=3306, user='root', password='')
db.connect()
MyUser.bind(db)
db.create_tables([MyUser])

 

منبع.

 

 

لیست جلسات قبل آموزش Peeweee

  1. آموزش Peeweee
  2. آموزش مقدماتی Peeweee
  3. آموزش کلاس پایگاه داده در Peeweee
  4. آموزش کلاس مدل در Peeweee
  5. آموزش کلاس Field در Peewee
  6. آموزش ایجاد یک رکورد جدید در Peewee
  7. آموزش انتخاب رکورد در Peewee
  8. آموزش فیلترها در Peewee
  9. آموزش کلیدهای اولیه و کامپوزیت در Peewee
  10. آموزش به روزرسانی رکوردهای موجود در Peewee
  11. آموزش حذف رکوردها در Peewee
  12. آموزش ایجاد ایندکس در Peewee
  13. آموزش محدودیت ها در Peewee
  14. آموزش استفاده از MySQL در Peewee
  15. آموزش استفاده از PostgreSQL در Peewee
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه