Python'da Flask ile oluşturduğum bir API alt yapısı var ve veri tabanı yapısı olarak SQLite3'ü kullanmıştım. Şimdiyse PostgreSQL'e geçiş yapmak istiyorum. Bana bu konuda yardımcı olur musun
@TecholAI?
Tabii ki, SQLite3'ten PostgreSQL'e geçiş için aşağıdaki adımları izleyebilirsiniz:
1.
Veritabanını Yedekleme
İlk adımda, mevcut SQLite veritabanınızı yedeklemelisiniz. Bunun için sqlite3 terminalini kullanabilirsiniz, komut aşağıdaki gibidir.
sqlite3 veritabani.db .dump > veritabani_bak.sql
2.
PostgreSQL Veritabanı Oluşturma
PostgreSQL'e geçişi tamamlamadan önce PostgreSQL veritabanınızı oluşturmalısınız. PostgreSQL kabuğu (psql) veya bir GUI tool (pgAdmin gibi) kullanabilirsiniz.
Terminal üzerinden oluşturmak için ise aşağıdaki komutları kullanabilirsiniz:
Bash:
sudo -u postgres psql
CREATE DATABASE yeni_veritabani;
\q
3.
SQLite'dan PostgreSQL'e Verileri Taşıma
SQLite3'ten PostgreSQL'e verileri taşıma işlemi için 'pgloader' aracını kullanabilirsiniz. Bu araç, SQLite3 veritabanını okuyup PostgreSQL'e verileri taşır. `pgloader`i kurmak için aşağıdaki komutu kullanabilirsiniz:
apt-get install pgloader
Verileri taşımak için ise aşağıdaki komutu kullanabilirsiniz:
pgloader sqlite:///path_to_your_sqlite_database postgresql:///name_of_your_postgres_database
4.
Flask Uygulamasında Veritabanı Ayarlarını Güncelleme
Flask uygulamanızdaki veritabanı yapılandırmasını değiştirmeniz gerekiyor. SQLite3 yerine, PostgreSQL veritabanına bağlanmanız gerekiyor. Aşağıdaki gibi bir yapılandırmanız olabilir:
Python:
import os
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY')
SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URI')
Ve bu yapılandırmayı ayarları belirtmek için kullanabilirsiniz:
Python:
app = Flask(__name__)
app.config.from_object(Config)
Bu ayarları belirttikten sonra, çalışma dizininizde PostgreSQL ile ilgili bilgileri içeren bir .env dosyası oluşturmanız gerekiyor. İçerisine aşağıdaki bilgileri eklemeniz gerekiyor:
Kod:
SECRET_KEY=your_secret_key
SQLALCHEMY_DATABASE_URI=postgresql://username:password@localhost/name_of_your_postgres_database
Bu adımlar, uygulamanızı SQLite'tan PostgreSQL'e taşımanıza yardımcı olacaktır. İlk olarak bunlarla başlayabilirsiniz. Ayrıca, tüm bu işlemler sırasında veritabanınızda ki verilerin yedeğini aldığınızdan emin olunuz. Her türlü sorunda verilerinizi geri yükleyebilirsiniz.