SORU
3 Ocak 2011, PAZARTESİ


SQLİTE SQL dökümü dosyası POSTGRESQL dönüştürmek

Kalkınma SQLİTE veritabanı kullanarak POSTGRESQL üretim yapıyorum. Ben sadece veri büyük miktarda ile benim yerel veritabanı ve üretim veritabanı için belirli bir tablo aktarmak için gereken güncellendi.

sqlite database .dump > /the/path/to/sqlite-dumpfile.sql, SQLİTE çalışan temel çıktıları aşağıdaki biçimde bir tablo dökümü:

BEGIN TRANSACTION;
CREATE TABLE "courses_school" ("id" integer PRIMARY KEY, "department_count" integer NOT NULL DEFAULT 0, "the_id" integer UNIQUE, "school_name" varchar(150), "slug" varchar(50));
INSERT INTO "courses_school" VALUES(1,168,213,'TEST Name A',NULL);
INSERT INTO "courses_school" VALUES(2,0,656,'TEST Name B',NULL);
....
COMMIT;

Nasıl üretim benim Server'a almak ben POSTGRESQL uyumlu bir döküm dosyası içine yukarıdaki dönüştürebilirim?

CEVAP
3 Ocak 2011, PAZARTESİ


Döküm düz psql içine dosya beslemek gerekir:

/path/to/psql -d database -U username -W < /the/path/to/sqlite-dumpfile.sql

Eğer "o zaman" "" tablo oluşturma satır. seri "için int türünü değiştirmek için" otomatik arttırma id sütun isterseniz PostgreSQL sonra BOŞ kimlikleri ile Ekler otomatik olarak bir sonraki kullanılabilir değeri atanacaktır, böylece bu sütun için bir dizi takın.

Ayrıca SQLite şema datetime sütunları kontrol edin ve PostgreSQL (bu işaret için Clay sayesinde) timestamp onları değiştirmek isteyeceksiniz.

Eğer booleans senin SQLite daha sonra dönüştürmek 1 0 1::boolean 0::boolean (sırasıyla) ya da değişebilir boolean sütun için bir tamsayı şema bölümün dökümü ve daha sonra tamir ederek elin içindeki PostgreSQL sonra alın.

Eğer SQLite Lekeler varsa, şema bytea kullanmak için ayarlayın. Muhtemelen decode calls as well biraz karıştırmak gerekir. ''dirty fotokopi hızlı yazmaya en sevdiğiniz dil eğer SQL parçalama daha kolay olabilir ama uğraşmak Lekeler var.

Her zamanki gibi, Eğer yabancı anahtar varsa, o zaman muhtemelen set constraints all deferred takın sorunlar sipariş önlemek için, başlangıç/TAMAMLAMA çifti içinde komut yerleştirerek bakmak isteyeceksiniz.

20* *boolean, blob, kısıtlamalar ve notlar için teşekkürler.

SQLite dökümü dosyasında sözdizimi birkaç şey yama ve 16 ** besleyebilirsiniz yani PostgreSQL ile çoğunlukla uyumlu görünüyor. SQL İnsert ile veri yığınının alma ama işe yarar bir süre alabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • NYCarspotter

    NYCarspotter

    26 EYLÜL 2011
  • Submissions101

    Submissions1

    23 ŞUBAT 2007