2009-11-25 10 views
13

Tôi đã tự hỏi nếu có ai biết làm thế nào để tạo ra một fixture.yml từ dữ liệu đã có sẵn trong cơ sở dữ liệu?Tôi làm cách nào để tạo ra YML của Symfony từ dữ liệu cơ sở dữ liệu xuất hiện?

Khi bạn có thể sử dụng lược đồ xây dựng để tạo lược đồ, có cách nào để thực hiện điều đó cho dữ liệu không?

symfony propel:build-schema 
+0

Tại sao không đọc kỹ 'đầu ra symfony' của, eh? – develop7

Trả lời

5

Trong Symfony 1.0 sử dụng lệnh:

$ php symfony propel-dump-data <APPLICATION_NAME> <FIXTURES_DIR_OR_FILE> [<ENVIRONMENT_NAME>] 

Trong các phiên bản 1.1 và 1.2 sử dụng lệnh sau:

$ php symfony propel:data-dump <APPLICATION_NAME> [<TARGET>] [--env=<ENVIRONMENT_NAME>] 
+0

Rất tốt - cảm ơn bạn. – frodosghost

+0

lệnh không hoạt động, tôi đang sử dụng Symfony1.2-propel. nó là cho tôi lỗi như "Thực thi thất bại -Too nhiều đối số cho" xin vui lòng giúp đỡ! –

+0

@harish Tôi nghĩ bạn đã quên "--env =" vì vậy nó phải là "--env = dev" không chỉ "dev" –

6

Tôi tìm thấy solution trong lưu trữ thư. Người dùng sử dụng

symfony propel:data-dump > fixture.yml 
+0

vâng! mã này hoạt động ... Cảm ơn u .. Felix, nó tạo ra tập tin fixture.yml bên trong thư mục gốc. –

5

tôi chỉ phải làm điều này dưới symfony 1.2 và Doctrine.

symfony doctrine: dữ liệu-dump

này bãi toàn bộ cơ sở dữ liệu data/fixtures/data.yml. Tôi đã tải một số dữ liệu vào cơ sở dữ liệu với một tập tin .sql và muốn nó như một vật cố định cho cơ sở dữ liệu trực tiếp của tôi. Tôi chỉ cần chỉnh sửa tệp data.yml xuống bảng cơ sở dữ liệu mà tôi cần.

Cách khác là viết một số mã để đọc bảng cơ sở dữ liệu và xuất nó theo định dạng YAML.

+0

Điều này cũng hoạt động trên Symfony 1.4 và Doctrine. –

12

Trong symfony 1.4 bạn chỉ cần viết:

./symfony doctrine:data-dump 

và bạn sẽ có được các tập tin data/fixtures/data.yml

:-)